본문 바로가기

DATABASE/Oracle

[Query] 오라클 시간 참고 쿼리

반응형

자주 사용하는 시간 쿼리를 정리 해 봤다.

SELECT SYSDATE                                                                                  -- 현시간
     , TRUNC(SYSDATE) AS TODAY                                                                  -- 날짜만
     , TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1)) + 1 ) FIRSTDAY                                    -- 해당 월의 첫날
     , TRUNC(LAST_DAY(SYSDATE)) LASTDAY                                                         -- 해당 월의 마지막날
     , TRUNC(SYSDATE) AS TODAY                                                                  -- 현시간의 날짜만
     , TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1)) + 1 ) AS FIRSTDAY                                 -- 현시간 월의 첫날
     , TRUNC(LAST_DAY(SYSDATE)) AS LASTDAY                                                      -- 현시간의 마지막날
     , ROUND(SYSDATE 
           - TO_DATE('2021-05-01 13:00:00', 'YYYY-MM-DD HH24:MI:SS'), 2) AS DD                  -- 현시간까지의 날짜
     , ROUND((SYSDATE 
            - TO_DATE('2021-05-01 13:00:00', 'YYYY-MM-DD HH24:MI:SS')) * 24, 2) AS HH           -- 현시간까지의 시간
     , ROUND((SYSDATE 
            - TO_DATE('2021-05-01 13:00:00', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60, 2) AS MM      -- 현시간까지의 분
     , ROUND((SYSDATE 
            - TO_DATE('2021-05-01 13:00:00', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60, 2) AS SS -- 현시간까지의 초
     , TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-4)) + 1 )  AS PRE_4_MON_FIRSTDAY                      -- 4달전 첫날       
     , TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1))) AS PRE_1_MON_LASTDAY                             -- 이전 달 마지막날
     , TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF3') Millisecond
  FROM DUAL;
반응형