Oracle 날짜 관련 쿼리

참고 함수 및 포맷

# REF FUNCTION
TO_CHAR(TARGET, FORMAT) : 숫자 또는 날짜를 지정한 포맷에 맞게 변환
TO_DATE(TARGET)         : 문자를 DATE 변환

# FORMATS
'YYYY'  :   4자리 년도로 표시 
'YY'    :   끝의 2자리 연도로 표시 ('2019' -> '19')
'YEAR'  :   연도를 알파뱃으로 표시 
'Q'     :   해당월의 분기
'MM'    :   달을 두자리 숫자로 표시
'MON'   :   달을 알파뱃 약어로 표시 
'MONTH' :   달을 알파뱃으로 표시
'W'     :   해당 월의 주차
'WW'    :   현재 년도의 1일부터 7일단위의 주차
'IW'    :   날짜가 해당한 주가 하루라도 다음해인 경우에는 그달의 첫주로 한다
'DD'    :   일자를 두자리 숫자로 표시
'DAY'   :   일자에 해당하는 요일
'DY'    :   일자에 해당하는 요일의 약어
'HH'    :   12시간으로 표시 (1 - 12)
'HH24'  :   24시간으로 표시 (0 - 23)
'MI'    :   분을 표시
'SS'    :   초를 표시
'AM, PM':   오전, 오후를 표시

날짜 계산

# EX) SYSDATE = "2019-08-27 13:24:00"

# 특정 날짜와 현재 날짜와의 차이를 NUMBER 형으로 반환
#   = 0.0500205346475507765830346475507765830346
SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('2019-08-26'), 'YYYYMMDD') FROM DUAL; 

# 특정 날짜에 N 개월을 더하기
#   = 2019-12-27 13:13:51
SELECT ADD_MONTHS(SYSDATE, 4) FROM DUAL;

# 특정 날짜의 다음주 특정 요일 구하기
#   ! 시스템 장소 정보에 따라 한국일 경우 두번째 인자를 한글로, 영어권일 경우 영어로해야
#     에러가 발생하지 않는다.
#   = 2019-09-02 13:26:27
SELECT NEXT_DAY(SYSDATE, '월요일') FROM DUAL;

# 특정 날짜의 반올림 EX) 특정 날짜의 시간이 오후면 반올림
#   = 2019-08-28 00:00:00
SELECT ROUND(SYSDATE, 'DD') FROM DUAL;

# 전년도의 12 31
SELECT TRUNC(SYSDATE, 'IY') FROM DUAL;

# 같은 년도의 첫날
SELECT TRUNC(SYSDATE, 'YY') FROM DUAL;

# 같은 년도의 마지막날
#   = 2019-12-31 00:00:00
SELECT ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), 12) - 1 FROM DUAL;

# 분기의 첫달 1
SELECT TRUNC(SYSDATE, 'Q') FROM DUAL;

# 특정 날짜가 속한 달의 첫날 
#   = 2019-08-01 00:00:00
SELECT TRUNC(SYSDATE, 'MONTH') FROM DUAL;

# 특정 날짜가 속한 달의 마지막 
#   = 2019-08-31 13:23:53
SELECT LAST_DAY(SYSDATE) FROM DUAL;

# 특정 달의 일수
#   = 31
SELECT CAST(TO_CHAR(LAST_DAY(SYSDATE), 'DD') AS INT) FROM DUAL;

# YYYY-MM-01 표시
SELECT TRUNC(SYSDATE, 'MM') FROM DUAL;

# YYYY-MM-DD 표시
SELECT TRUNC(SYSDATE, 'DD') FROM DUAL;

# 분기 계산
SELECT TRUNC(SYSDATE, 'Q') 'N분기' FROM DUAL;

# 주차 구하기 
# 일요일 기준
SELECT TRUNC((TRUNC(SYSDATE) - TRUNC(TRUNC(SYSDATE, 'YY'), 'D')) / 7) + 1 
# 월요일 기준
SELECT TRUNC((TRUNC(SYSDATE) - TRUNC(TRUNC(SYSDATE, 'YY'), 'IW')) / 7) + 1

출처: 오라클 TRUNC 날짜 기능 SYSDATE 기준 일자관련 다양한 표현2 날짜 함수 및 날짜 구하기 오라클 날짜계산 년 주차 구하기

태그:

카테고리:

업데이트:

댓글남기기