본문 바로가기

Database/Oracle

[Oracle] 날짜 관련 정보 구하기

1. 해당일의 주차

SELECT TO_CHAR(SYSDATE, 'IW') FROM DUAL

2. 이번달 첫주 날 수

SELECT TO_NUMBER(TO_CHAR(NEXT_DAY((TRUNC(SYSDATE, 'MM') - 1), 1), 'DD')) FROM DUAL

 

3. 이번달 마지막주 날 수

SELECT LAST_DAY(SYSDATE) - NEXT_DAY((LAST_DAY(SYSDATE) - 7), 2) + 1 FROM DUAL

 

4. 이번달 첫날

SELECT TO_CHAR(TRUNC(SYSDATE, 'MM'), 'YYYYMMDD') FROM DUAL

5. 이번달 마지막 날

SELECT LAST_DAY(SYSDATE) FROM DUAL

6. 전달 마지막 날

SELECT TO_CHAR(TRUNC(SYSDATE,'MM') - 1, 'YYYYMMDD') FROM DUAL

7. 이번달 첫주 월요일

SELECT NEXT_DAY((TRUNC(SYSDATE, 'MM') - 1), '월') FROM DUAL
SELECT NEXT_DAY((TRUNC(SYSDATE, 'MM') - 1), '월요일') FROM DUAL
SELECT NEXT_DAY((TRUNC(SYSDATE, 'MM') - 1), 'MON') FROM DUAL
SELECT NEXT_DAY((TRUNC(SYSDATE, 'MM') - 1), 'MONDAY') FROM DUAL
SELECT NEXT_DAY((TRUNC(SYSDATE, 'MM') - 1), 2) FROM DUAL

8. 이번달 마지막주 금요일

SELECT NEXT_DAY((LAST_DAY(SYSDATE) - 7), '금') FROM DUAL
SELECT NEXT_DAY((LAST_DAY(SYSDATE) - 7), '금요일') FROM DUAL
SELECT NEXT_DAY((LAST_DAY(SYSDATE) - 7), 'FRI') FROM DUAL
SELECT NEXT_DAY((LAST_DAY(SYSDATE) - 7), 'FRIDAY') FROM DUAL
SELECT NEXT_DAY((LAST_DAY(SYSDATE) - 7), 6) FROM DUAL

※ NEXT_DAY 는 하기와 같이 지정하면 지정일부터 다음 요일을 찾음

1  일요일  SUNDAY   SUN 
2  월요일  MONDAY   MON 
3  화요일   TUESDAY   TUE 
4  수요일   WEDNESDAY   WED 
5  목요일  THURSDAY   THUR 
6  금요일   FRIDAY   FRI 
7  토요일  SATURDAY   SAT 

9. 요번주 금요일 날짜 (월요일 기준)

SELECT TRUNC(SYSDATE, 'IW') + 4 FROM DUAL

10. 요일 (1[일] ~7[토])

SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL

11. 요일을 한글로

SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL -- 월
SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL -- 월요일