본문 바로가기
Oracle

두시간의 차이를 구한다.

by 캡틴노랑이 2016. 5. 16.
반응형

디비에 저장되어 있는 두개의 시간읠 비교하여 분단위로 조회한다.



 SELECT TO_NUMBER(SUBSTR(DIFF, 2, 9)) DD
      , TO_NUMBER(SUBSTR(DIFF, 12, 2)) HH
      , TO_NUMBER(SUBSTR(DIFF, 15, 2)) MM
      , TO_NUMBER(SUBSTR(DIFF, 18, 2)) SS
      , DECODE( TO_NUMBER(SUBSTR(DIFF, 12, 2)), 0, SUBSTR(DIFF, 15, 2), (TO_NUMBER(SUBSTR(DIFF, 12, 2)) * 60) + TO_NUMBER(SUBSTR(DIFF, 15, 2))) AS HHplusMM
      --시간 분을  분으로만 표현 
  FROM (
        SELECT 
               NUMTODSINTERVAL (DATE2 - DATE1, 'DAY') DIFF--차이계산    결과 +00 00:50:00.000000
          FROM (
                 SELECT 
                        '171000'  AS TIME1--24시간제 시분초
                      , '182000'  AS TIME2--24시간제 시분초
                      , TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD') || '171000', 'YYYYMMDDHH24MISS') DATE1 --DATE형으로 변환
                      , TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD') || '182000', 'YYYYMMDDHH24MISS') DATE2 --DATE형으로 변환
                   FROM DUAL
                ) A
        )
 
결과 

DD    HH    MM  SS      HHPLUSMM
---------------------------------
0 1 10 0 70





반응형

댓글