DB/Oracle

[Oracle] 날짜 함수(MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY, LAST_DAY, TO_DATE)

자석 2022. 2. 23. 16:04

1. MONTHS_BETWEEN

달수와 달수 사이를 구한다.

1
2
3
4
5
6
7
-- MONTHS_BETWEEN
SELECT MONTHS_BETWEEN
       (
       TO_DATE('2017-07-01','YYYY-MM-DD')
     , TO_DATE('2017-06-01','YYYY-MM-DD')
       ) AS MONTHS_BETWEEN
  FROM DUAL
출력 결과

 

 

2. ADD_MONTHS

달수를 더한다.

 

1
2
3
-- ADD_MONTHS
SELECT ADD_MONTHS(TO_DATE('2017-07-01','YYYY-MM-DD'),1) AS ADD_MONTHS
  FROM DUAL

출력 결과

 

 

3. NEXT_DAY

기준날짜에서 요일을 찾아 몇일인지 반환한다.

 

1
2
3
-- NEXT_DAY
SELECT NEXT_DAY(TO_DATE('2017-06-05','YYYY-MM-DD'),'FRIDAY'
  FROM DUAL

출력 결과

 

 

4. LAST_DAY

기준날짜에서 마지막 날을 출력한다.

 

1
2
3
-- LAST_DAY
SELECT LAST_DAY(TO_DATE('2017-06-01','YYYY-MM-DD'))
  FROM DUAL

출력 결과

 

 

5. TO_DATE

DATE 형식으로 출력한다.

 
1
2
3
4
5
6
7
8
9
10
11
12
-- TO_DATE1
SELECT TO_DATE('2017-06-01','YYYY-MM-DD') MDATE1
     , TO_DATE('2017/06/01','YYYY/MM/DD') MDATE2
     , TO_DATE('20170601','YYYY-MM-DD') MDATE3
     , TO_DATE('20170601','YYYYMMDD') MDATE4
     , TO_DATE('20170601112030','YYYYMMDDHH12MISS') MDATE5
     , TO_DATE('20170601232030','YYYYMMDDHH24MISS') MDATE6
     , TO_DATE('2017-06-01-11-20-30','YYYY-MM-DD-HH12-MI-SS') MDATE7
     , TO_DATE('2017-06-01-23-20-30','YYYY-MM-DD-HH24-MI-SS') MDATE8
     , TO_DATE('2017/06/01/11/20/30','YYYY/MM/DD/HH12/MI/SS') MDATE9
     , TO_DATE('2017/06/01/23/20/30','YYYY/MM/DD/HH24/MI/SS') MDATE10
  FROM DUAL
출력 결과

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
-- TO_DATE2
SELECT TO_DATE(SYSDATE,'YYYY-MM-DD') MDATE1
     , SYSDATE MDATE2
     , TO_CHAR(SYSDATE) MDATE3
     , TO_CHAR(SYSDATE,'YYYY-MM-DD') MDATE4
     , TO_CHAR(SYSDATE,'YYYY/MM/DD') MDATE5
     , TO_DATE(TO_CHAR(SYSDATE,'YYYY-MM-DD'),'YYYY-MM-DD') MDATE6
     , TO_DATE(TO_CHAR(SYSDATE,'YYYY/MM/DD'),'YYYY/MM/DD') MDATE7
     , TO_CHAR(SYSDATE,'YYYY-MM') MDATE8
     , TO_CHAR(SYSDATE,'YYYY/MM') MDATE9
     , TO_CHAR(SYSDATE,'MM') MDATE10
     , TO_CHAR(SYSDATE,'DD') MDATE11
  FROM DUAL
출력 결과

 

 

 

출처 : https://shlee0882.tistory.com/28