[Oracle] 14.날짜 함수
날짜함수
SQL에는 날짜와 관련된 함수도 제공하고 있습니다.
날짜함수는 다음과 같은 것이 있습니다.
특정기준으로 반올림하는 ROUND 함수
--달 단위로 반올림--
SELECT
TO_CHAR(SYSDATE,'YYYY/MM/DD'),
TO_CHAR(round(SYSDATE,'MM'),'YYYY/MM/DD')
FROM
dual;
--시간 단위로 반올림--
SELECT
TO_CHAR(SYSDATE,'YYYY/MM/DD, hh24:mi:ss'),
TO_CHAR(round(SYSDATE,'HH'),'YYYY/MM/DD, hh24:mi:ss')
FROM
dual;
특정 기준으로 버리는 함수: TRUNC 함수
--연에서 버림 --
SELECT
TO_CHAR(SYSDATE,'YYYY/MM/DD'),
TO_CHAR(trunc(SYSDATE,'yyyy'),'YYYY/MM/DD')
FROM
dual;
--달에서 버림--
SELECT
TO_CHAR(SYSDATE,'YYYY/MM/DD'),
TO_CHAR(trunc(SYSDATE,'MONTH'),'YYYY/MM/DD')
FROM
dual;
두 날짜 사이 간격을 구하는 함수: MONTHS_BETWEEN
-- 두 날짜 사이 간격을 구하는 함수 : MONTHS_BETWEEN --
SELECT
months_between(TO_CHAR(SYSDATE,'YYYY/MM/DD'),'2017/12/31')
FROM
dual;
개월 수를 더하는 ADD_MONTHS 함수
-- 개월 수를 더하는 ADD_MONTHS 함수 --
SELECT
SYSDATE,
add_months(SYSDATE,3)
FROM
dual;
해당 요일의 가장 가까운 날짜를 출력: NEXT_DAY
-- 현재일 기준으로 가장 가까운 월요일 --
-- 해당 요일은 한글 또는 대응되는 숫자--
SELECT
TO_CHAR(next_day(SYSDATE,'월요일'),'YYYY/MM/DD') "월요일"
FROM
dual;
마지막 날짜 출력: LAST_DAY
-- LAST_DAY 함수 : 해당 달의 마지막 날짜를 반환 --
SELECT
TO_CHAR(last_day(SYSDATE),'YYYY/MM/DD') "마지막 날짜"
FROM
dual;