반응형
디비에 저장되어 있는 두개의 시간읠 비교하여 분단위로 조회한다.
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
반응형
'Oracle' 카테고리의 다른 글
rank()를 사용하여 순위를 부여하기 (0) | 2016.08.04 |
---|---|
Oracle 이전 이후의 Row중 특정한 열 값(이전값, 이후값) (0) | 2016.07.07 |
최근 일자별로 한건씩 조회할 때 (0) | 2016.05.13 |
Oracle 테이블, 컬럼 정보 조회 쿼리 (0) | 2016.05.10 |
특정구분자로 구성된 문자열을 ROW로 변환하기(SPLIT) 2 (0) | 2016.03.03 |
댓글