입력 받은 날짜가 주말인지 평일인지 어떻게 알 수 있을까?
입력 받은 날짜가 포함된 주의 월요일 날짜와 일요일 날짜는 어떻게 구 할 수 있을까?
입력 받은 날짜가 주말 확인하기
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;
반응형
'개발 > DB' 카테고리의 다른 글
[오라클] 특정 날짜가 들어 있는 주의 월요일 날짜와 일요일 날짜 구하기 (0) | 2025.03.26 |
---|---|
[DB]오라클 개발 - 운영 서버 비교하기 (0) | 2025.03.12 |
[DB] 한 컬럼에 여러개의 결과 표현하기 (0) | 2021.07.28 |
[DB] WITH AS 문 사용하기 (1) | 2021.07.28 |
DB2 에러 정리 (0) | 2021.04.16 |