JNB
rss

skin by 이글루스

오라클

[오라클 Oracle] 두 날짜(일시) 사이의 차이 (일, 시, 분) 구하기 14.07.09 23:28
오라클(Oracle) SQL에서
두 날짜(일시) 사이의 일, 시, 분을 구하려고
검색, 포탈 사이트를 뒤지는데,
긁어다가 바로 쓸수 있게 친절하게 설명되어 있는 자료를 찾지 못하여,
나 같은 사람에게 편리성을 제공하기 위해 샘플을 만들어 놓습니다.

일하는데 작은 도움이라도 되기를 바라며...
-------------------------------------------------------------------

(1) 기능 설명
- 두 날짜 사이의 시간차이를 일, 시, 분으로 구하기
※ 오라클의 날짜 계산이 정확하게 안되어 floor()를 사용하여 분의 소숫점 이하를 버림

(2) 샘플 데이타 설명
- 시작일자 : StartDate('20090101 12:30')  - Date Type
- 종료일자 : EndDate('20091001 17:20')   - Date Type

(3) 결과
-------------------------------------------------------
일   시간     분
-------------------------------------------------------
273    4      50
-------------------------------------------------------

(4) 실행 SQL
-------------------------------------------------------------------------------------
SELECT

       TRUNC(EndDate - StartDate) as "일",
          TRUNC(((EndDate - StartDate) - TRUNC(EndDate - StartDate)) * 24) as "시간",
         FLOOR(((((EndDate - StartDate) -TRUNC(EndDate - StartDate)) * 24)
          - TRUNC(((EndDate - StartDate)-TRUNC(EndDate - StartDate)) * 24)) * 60) as "분"
      
   FROM (              
         SELECT TO_DATE('20090101 12:30','yyyymmdd hh24:mi') as StartDate,  -- 시작일
                       TO_DATE('20091001 17:20','yyyymmdd hh24:mi') as EndDate    -- 종료일
             FROM DUAL
         )
-------------------------------------------------------------------------------------
제이앤비15.01.14 23:00

위의 쿼리는 오류가 있네요...
  
제이앤비15.01.14 23:02

583번 글의 시간계산이 맞습니다.
  

        

    
Copyright 1999-2018 Zeroboard / skin by JY