기본 콘텐츠로 건너뛰기

2022 08 26 회사 워크샵

오라클 to_date (oracle to_date)

-- 날짜형식 11/11/03 형식

SELECT TO_CHAR(SYSDATE,'RR/MM/DD') FROM DUAL



-- 해당일의 주차 구하기 (월~일 체계)
SELECT TO_CHAR(SYSDATE,'IW') FROM DUAL





-- 당월 첫 주 화요일
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),3) FROM DUAL



-- 당월 마지막 날짜
SELECT LAST_DAY(SYSDATE) FROM DUAL



-- 당월의 첫 날 구하기
SELECT TO_CHAR(TRUNC(SYSDATE,'MM'),'YYYYMMDD') FROM DUAL



-- 당월 첫주 날 수
SELECT TO_NUMBER(TO_CHAR(NEXT_DAY((TRUNC(SYSDATE,'MM')-1),1),'DD')) FROM DUAL



-- 전월의 마지막 날 구하기
SELECT TO_CHAR(TRUNC(SYSDATE,'MM')-1,'YYYYMMDD') FROM DUAL



-- 하루를 더하고 2달 앞의 일자 구하기

SELECT TO_CHAR(ADD_MONTHS(TO_DATE('20110601','YYYYMMDD')+1,2),'YYYYMMDD') FROM DUAL



-- 당월 마지막 주 목요일
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),5) FROM DUAL



-- 당월 마지막주 날 수
SELECT LAST_DAY(SYSDATE) - NEXT_DAY((LAST_DAY(SYSDATE)-7),2) + 1 FROM DUAL


-- 해당일 포함 된 주의 목요일 날짜
SELECT CASE WHEN TO_CHAR(TO_DATE('20100629','YYYYMMDD'), 'D') < 5 THEN TRUNC(TO_DATE('20100629','YYYYMMDD')-5, 'IW')+3
            ELSE TRUNC(TO_DATE('20100629','YYYYMMDD'), 'IW')+3 END RESULT
  FROM DUAL



-- 요일 구하기 (1=일 ~ 7=토)
SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL



-- 요일 구하기 (한글로 출력)
SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL -- 월
SELECT TO_CHAR(SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=KOREAN') FROM DUAL -- 월
SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL -- 월요일



-- 해당주 목요일 날짜
SELECT TRUNC(SYSDATE, 'IW')+3 FROM DUAL

-- 당월 마지막 날의 요일 구하기 (1=일 ~ 7=토)
SELECT TO_CHAR(LAST_DAY(SYSDATE),'D') FROM DUAL



-- 마지막주 목요일 (1=일 ~ 7=토)
SELECT NEXT_DAY((LAST_DAY(SYSDATE)-7),5) FROM DUAL



-- 마지막주 월요일 (1=일 ~ 7=토) 바로 전 날짜
SELECT NEXT_DAY((LAST_DAY(SYSDATE)-7),2)-1 FROM DUAL

댓글