SQL Date Functions
Database날짜 함수
SYSDATE
시스템의 현재 날짜를 반환한다.
SELECT sysdate - 1 어제
, sysdate 오늘
, sysdate + 1 내일
FROM dual;
CURRENT_DATE
ALTER SESSION 명령으로 설정된 SQL 세션의 현재 시간을 반환한다.
SELECT CURRENT_DATE - 1 어제
, CURRENT_DATE 오늘
, CURRENT_DATE + 1 내일
FROM dual;
ADD_MONTHS
지정된 개월 수가 추가된 날짜를 반환한다.
ADD_MONTHS(date, number)
SELECT hire_date 입사일
, ADD_MONTHS(hire_date, 3) "입사3개월"
FROM employees;
MONTHS_BETWEEN
두 날짜 사이의 개월 수를 반환한다.
MONTHS_BETWEEN(date1, date2)
SELECT TRUNC(MONTHS_BETWEEN(sysdate, hire_date))
FROM employees;
NEXT_DAY
해당 날짜에서 지정한 요일과 가장 가까운 날짜를 반환한다.
NEXT_DAY(date, 'format'|number)
SELECT sysdate --17/10/26
, NEXT_DAY(sysdate, '금요일') --17/10/27
, NEXT_DAY(sysdate, 6) --17/10/27
FROM dual;
LAST_DAY
해당 달의 마지막 날짜를 반환한다.
윤달 표기에 효율적이다.
LAST_DAY(date)
SELECT hire_date
, LAST_DAY(hire_date)
FROM employees;
ROUND
특정 기준으로 반올림한 날짜를 반환한다.
ROUND(date, 'format')
- MONTH : 일을 기준으로 16보다 적으면 이달 1일, 16이상이면 다음달 1일
SELECT ROUND(hire_date, 'MONTH')
FROM employees;
TRUNC
특정 기준으로 자른 날짜를 반환한다.
TRUNC(date, 'format')
- MONTH : 달을 기준으로 자른다. 그 달의 1일
SELECT TRUNC(hire_date, 'MONTH')
FROM employees;