[Oracle] 14.날짜 함수


날짜함수



SQL에는 날짜와 관련된 함수도 제공하고 있습니다.

날짜함수는 다음과 같은 것이 있습니다.


image



특정기준으로 반올림하는 ROUND 함수




--달 단위로 반올림--

SELECT 
    TO_CHAR(SYSDATE,'YYYY/MM/DD'),
    TO_CHAR(round(SYSDATE,'MM'),'YYYY/MM/DD')
FROM
    dual;




image

--시간 단위로 반올림--

SELECT 
    TO_CHAR(SYSDATE,'YYYY/MM/DD, hh24:mi:ss'),
    TO_CHAR(round(SYSDATE,'HH'),'YYYY/MM/DD, hh24:mi:ss')
FROM
    dual;




image



특정 기준으로 버리는 함수: TRUNC 함수




--연에서 버림 --

SELECT 
    TO_CHAR(SYSDATE,'YYYY/MM/DD'),
    TO_CHAR(trunc(SYSDATE,'yyyy'),'YYYY/MM/DD')
FROM
    dual;




image




--달에서 버림--

SELECT 
    TO_CHAR(SYSDATE,'YYYY/MM/DD'),
    TO_CHAR(trunc(SYSDATE,'MONTH'),'YYYY/MM/DD')
FROM
    dual;




image



두 날짜 사이 간격을 구하는 함수: MONTHS_BETWEEN




-- 두 날짜 사이 간격을 구하는 함수 : MONTHS_BETWEEN --
SELECT
    months_between(TO_CHAR(SYSDATE,'YYYY/MM/DD'),'2017/12/31')
FROM
    dual;




image



개월 수를 더하는 ADD_MONTHS 함수




-- 개월 수를 더하는 ADD_MONTHS 함수 --

SELECT
    SYSDATE,
    add_months(SYSDATE,3)
FROM
    dual;




image



해당 요일의 가장 가까운 날짜를 출력: NEXT_DAY




-- 현재일 기준으로 가장 가까운 월요일 --
-- 해당 요일은 한글 또는 대응되는 숫자--

SELECT
    TO_CHAR(next_day(SYSDATE,'월요일'),'YYYY/MM/DD') "월요일"
FROM
    dual;




image



마지막 날짜 출력: LAST_DAY




-- LAST_DAY 함수 : 해당 달의 마지막 날짜를 반환 --

SELECT
    TO_CHAR(last_day(SYSDATE),'YYYY/MM/DD') "마지막 날짜"
FROM
    dual;




image