오라클(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
        )
-------------------------------------------------------------------------------------

Posted by 우라질레이터

urajilation@gmail.com
우라질레이터

달력

태그목록