★ 단일행 함수의 종류 ★
- 문자 함수
- 숫자 함수
- 날짜 함수
- 변환 함수
- 기타 함수
날짜1 + 숫자 = 날짜2
날짜1 - 숫자 = 날짜2=> 숫자의 단위는 일 수 이다.
=> 숫자의 단위는 개월 수 이다.
-- sysdate 는 2024년 2월 24일 기준
select sysdate + 1, sysdate - 2
, add_months(sysdate,1), add_months(sysdate,-2)
from dual;
-- 결과
-- sysdate + 1 = 2024-02-25 01:01:14
-- sysdate - 2 = 2024-02-22 01:01:14
-- add_months(sysdate,1) = 2024-03-24 01:01:14
-- add_months(sysdate,-2) = 2023-12-24 01:01:14
=> 숫자의 단위는 개월 수 이다.
-- sysdate 는 2024년 2월 24일 기준
select sysdate
, extract(year from sysdate)
, extract(month from sysdate)
, extract(day from sysdate)
from dual;
-- 결과
-- sysdate : 2024-02-24 01:15:57
-- extract(year from sysdate) : 2024
-- extract(month from sysdate) : 2
-- extract(day from sysdate) : 24
last_day(날짜)
날짜가 포함된 달력에서 맨 마지막 날짜
next_day(날짜, '요일')
'요일' 자리 => '일' , '월' , '화' , '수' , '목' , '금' , '토'
날짜로부터 다음번에 돌아오는 가장 빠른 '요일' 의 날짜
-- sysdate 는 2024년 2월 24일 기준
select sysdate, next_day(sysdate,'일')
, next_day(sysdate,'수')
from dual;
-- 결과
-- sysdate : 2024-02-24 01:29:08
-- next_day(sysdate,'일') : 2024-02-25 01:29:08
-- next_day(sysdate,'수') : 2024-02-28 01:29:08
to_yminterval('년-월')
연산자가 + 이면 년과 월을 날짜에서 더해주고, - 이면 빼준다.
to_dsinterval('일 시간:분:초')
연산자가 + 이면 더해주고, - 이면빼준다.
select sysdate
, sysdate
+ to_yminterval('01-02') -- 1-2 도 가능하지만 01-02를 권장
+ to_dsinterval('003 04:05:06')
-- 3 4:5:6도 가능 하지만 003 04:05:06 을 권장
from dual;
-- 결과
-- 2024-02-24 01:35:48 | 2025-04-27 05:40:54
-> local_hr에서작업한것