개발/DB
[오라클] 입력 받은 날짜
똘똘이박사
2025. 4. 1. 21:50
입력 받은 날짜가 주말인지 평일인지 어떻게 알 수 있을까?
입력 받은 날짜가 포함된 주의 월요일 날짜와 일요일 날짜는 어떻게 구 할 수 있을까?
입력 받은 날짜가 주말 확인하기
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;
반응형