데이터베이스/Oracle

Oracle, 현재 날짜 구하기(Sysdate, to_char) / 달 수 더하기 / 마지막 날 구하기

greenyellow-s 2024. 8. 19. 18:30
시스템에 설정된 시간 표시

 

sysdate
ex. select sysdate from dual;

표현방식
to_char(값, 표현방식)
ex. select to_char(sysdate, 'YYYY"년" MM"월" DD"일"') as 오늘날짜 from dual;

 

날짜 변형

 

날짜에 달 수 더하기

add_months(날짜, 더할 달 수)

해당 달의 마지막 날
last_day(날짜)

날짜1으로부터 날짜2까지의 남은 날 수
months_between(날짜1, 날짜2)


FM 형식


형식과 데이터가 반드시 일치해야한다.
fm을 표시하면 숫자 앞의 0을 나타나지 않는다.

select to_char(sysdate, 'YYYY-MM-DD') from dual;

2024-08-19


select to_char(sysdate, 'YYYY-fmMM-DD') from dual;

2024-8-19

 

                                 


select to_char(to_date('2011-03-01','YYYY-MM-DD'), 'YYYY-MM-DD') from dual;

2011-03-01


select to_char(to_date('2011-03-01','YYYY-MM-DD'), 'YYYY-fmMM-DD') from dual;

2011-3-1


select to_char(to_date('2011-03-01','YYYY-MM-DD'), 'YYYY-fmMM-fmDD') from dual;

2011-3-01

 

fmMM을 하면 DD는 자동으로 fm이 적용된다.

따라서, fmMM 뒤에 fmDD을 하게되면 fm이 해제되어 다시 숫자 앞에 0이 표시된다.