6.2.3 날짜형 함수

    날짜형 함수는 날짜, 즉 데이터형이 DATETIMESTAMP인 데이터를 대상으로 연산을 수행하는 함수를 말합니다. 가령 특정 일을 기준으로 한 달 후의 일자를 구하거나 해당 월의 마지막 일자를 구하는 함수입니다. 대표적인 날짜형 함수는 다음과 같습니다.

    ▼ 표 6-5 날짜형 함수

    함수 명

    기능

    사용 예

    SYSDATE

    현재 일자와 시간을 반환

    SELECT SYSDATE

    FROM DUAL;

    → 2019-04-08

    (날짜와 시간 정보를 모두 포함하고 있음. 시간까지 보려면 TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')로 변환 필요)

    ADD_MONTHS

    ( date, n )

    date 날짜에 n개월을 더한 날짜를 반환. n이 음수이면 더하지 않고 뺀 날짜를 반환

    SELECT ADD_MONTHS( SYSDATE, 1 )

    FROM DUAL;

    → 2019-05-08

    MONTHS_BETWEEN

    ( date1, date2 )

    date1date2 두 날짜 사이의 개월 수를 반환. date1date2보다 이후 날짜면 양수, 반대면 음수 반환

    SELECT MONTHS_BETWEEN( SYSDATE + 31, SYSDATE )

    FROM DUAL;

    → 1.096….

    LAST_DAY( date )

    date가 속한 월의 마지막 일자를 반환

    SELECT LAST_DAY( SYSDATE )

    FROM DUAL;

    → 2019-04-30

    NEXT_DAY

    ( date, expr )

    date 날짜를 기준으로 expr에 명시한 날짜 반환. expr은 요일을 나타내는데, ‘월요일’ 형태로 쓸 수도 있고 1~7까지 숫자를 쓸 수도 있음(1은 일요일, 7은 토요일)

    SELECT NEXT_DAY( SYSDATE, '월요일' )

    FROM DUAL;

    → 2019-04-15

    ROUND

    ( date, format )

    dateformat 기준으로 반올림한 날짜 반환. formatYEAR, MONTH, DD, HH, HH24, MI 등 사용 가능

    SELECT ROUND( SYSDATE, 'YEAR' )

    FROM DUAL;

    → 2019-01-01

    TRUNC

    ( date, format )

    dateformat 기준으로 잘라낸 날짜 반환. formatROUND 함수와 동일하게 사용 가능

    SELECT TRUNC( SYSDATE, 'YEAR' )

    FROM DUAL;

    → 2019-01-01

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.