본문 바로가기
개발/DB

[오라클] 입력 받은 날짜

by 똘똘이박사 2025. 4. 1.

입력 받은 날짜가 주말인지 평일인지 어떻게 알 수 있을까?

입력 받은 날짜가 포함된 주의 월요일 날짜와 일요일 날짜는 어떻게 구 할 수 있을까?

 

입력 받은 날짜가 주말 확인하기

SELECT CASE WHEN TO_CHAR(TO_DATE(I_STA_YMD, 'YYYYMMDD'), 'D') IN ('1','7') THEN 'Y'
            WHEN EXISTS(SELECT 1 FROM tbl T1 WHERE T1.C_CD = :I_C_CD AND T1.HOLI_CD = :I_STA_YMD) THEN 'Y'
            ELSE 'N' END
  FROM DUAL;

 

입력 받은 날짜가 들어간 주의 월요일 일요일 날짜 구하기

SELECT :YMD
     , TO_CHAR(TRUNC(TO_DATE(:YMD, 'YYYYMMDD'), 'IW'), 'YYYYMMDD') AS MONDAY_YMD
     , TO_CHAR(TRUNC(TO_DATE(:YMD, 'YYYYMMDD'), 'IW') +6, 'YYYYMMDD') AS MONDAY_YMD
  FROM DUAL;

여기서 'IW'는 IOS WEEK의 약자로, 주의 시작을 월요일로 계산한다.

입력 받은 시간이 22시가 넘는지 아닌지 체크하기

SELECT CASE WHEN TO_DATE(:I_STA_HM, 'HH24MI') >= TO_DATE('2200', 'HH24MI') THEN 'Y'
            ELSE 'N' END
  FROM DUAL;
반응형