Database/Oracle

Oracle Datebase - 함수_단일행 함수_날짜 함수

seandoesdev 2023. 7. 29. 23:48

날짜 함수

날짜 데이터 타입에 사용하기 위한 함수이다.

더보기

RR 과 YY 타입 비교

 

YY 형식은 현재 세기로 계산한다.

 

RR 형식 계산 공식

현재년도(뒤 두자리) 명시된 년도(뒤 두자리) RR형식 반환년도
00~49 00~49 현재 세기
00~49 50~99 이전 세기
50~99 00~49 다음 세기
50~99 50~99 현재 세기

 

더보기

기본적인 날짜 연산 결과

연산 결과 설명
날짜 + 숫자 날짜 날짜에 일수를 더하여 반환한다.
날짜 - 숫자 날짜 날짜에 일수를 빼고 반환한다.
날짜 - 날짜 숫자(일수) 두 날짜의 차이(일수)를 반환한다.
날짜 + 숫자/24 날짜 날짜에 시간을 더한다.

 

SYSDATE

DB서버에 설정된 날짜를 반환한다.

SELECT SYSDATE
FROM dual;
SELECT SYSDATE 오늘, SYSDATE+1 내일, SYSDATE-1 어제
FROM dual;

 

MONTHS_BETWEEN( date1, date2 )

두 날짜 사이의 월수를 계산하여 반환한다.

SELECT MONTHS_BETWEEN(sysdate, '23/07/29')
FROM DUAL;

 

ADD_MONTHS( date1, n )

특정 개월 수를 더한 날짜를 계산하여 반환한다. 음수값일 경우, 뺀 날짜를 반환한다.

SELECT sysdate 현재, ADD_MONTHS(sysdate,1) 다음달,
 ADD_MONTHS(sysdate,-1) 이전달
FROM dual;

 

NEXT_DAY( date1, 'string'| n )

명시된 날짜로부터 다음 요일에 대한 날짜를 반환한다.

SELECT NEXT_DAY(SYSDATE, '금')
FROM DUAL;
-- 일요일: 1 월요일: 2...툐요일: 7

 

LAST_DAY ( date1)

지정된 월의 마지막 날짜를 반환한다. 윤년 및 평년 모두 자동으로 계산된다.

SELECT LAST_DAY(SYSDATE)
FROM DUAL;

 

ROUND( date1 , 'YEAR') , ROUND(date1, 'MONTH')

날짜를 가장 가까운 년도 또는 월로 반올림하여 반환하다.

SELECT 
 ROUND(SYSDATE,'YEAR'),
 ROUND(SYSDATE,'MONTH')
FROM DUAL;

 

TRUNC( date1 , 'YEAR') , TRUNC((date1, 'MONTH')

날짜를 가장 가까운 년도 또는 월로 절삭하여 반환한다.

SELECT  
 TRUNC(SYSDATE,'YEAR'),
 TRUNC(SYSDATE,'MONTH')
FROM DUAL;