oracle

오라클 날짜 함수의 종류와 활용 예시

구름Grum 2023. 1. 18. 13:19

Oracle 날짜 함수는 날짜를 조작할 때 사용합니다. 아래는 몇 가지 예시를 들어 설명해드리겠습니다.

SYSDATE
현재 날짜와 시간을 반환합니다.
결과는 2023-01-13 오후 3:18:36 이 됩니다.

SELECT SYSDATE from DUAL;


MONTHS_BETWEEN
두 날짜 사이에 있는 개월 수를 구합니다.
예를 들어, MONTHS_BETWEEN('2022-01-01', '2022-02-01') 결과는 -1 이 됩니다.
MONTHS_BETWEEN('2022-02-01', '2022-01-01') 결과는 1이 됩니다.

SELECT MONTHS_BETWEEN('2022-01-01', '2022-02-01') FROM DUAL;


ADD_MONTHS
지정된 날짜에 특정 개월을 더합니다. 예를 들어, ADD_MONTHS('2022-01-01', 3) 결과는 '2022-04-01'이 됩니다.


SELECT ADD_MONTHS('2022-01-01', 3)  FROM DUAL;


NEXT_DAY
지정된 날짜의 특정 요일 다음 날을 구합니다. 예를 들어, NEXT_DAY('2022-01-01', 'SUNDAY') 결과는 '2022-01-02' 이 됩니다.

SELECT NEXT_DAY('2022-01-01', 1)  FROM DUAL;

SELECT NEXT_DAY('2022-01-01', 'SUNDAY') FROM DUAL;


ROUND, TRUNC
날짜를 지정된 단위로 반올림 혹은 버림

SELECT TRUNC(SYSDATE) FROM DUAL;

SELECT ROUND(SYSDATE) FROM DUAL;


ROUND 12:00:00 미만은 버림 , 12:00:00  이후는 올림.

SELECT ROUND(to_date('2023-01-13 11:00:00', 'yyyy-mm-dd hh24:mi:ss') ) FROM DUAL;

--결과 : 2023-01-13

SELECT ROUND(to_date('2023-01-13 12:00:00', 'yyyy-mm-dd hh24:mi:ss') ) FROM DUAL;

--결과 : 2023/01/14


이러한 함수를 사용하면 날짜를 조작하는데 필요한 여러 연산을 쉽게 처리할 수 있습니다.