SQL/Oracle SQL
[sql] oracle date(날짜) 요일 구하기
trueman
2023. 9. 24. 22:20
728x90
728x90
oracle 날짜 요일 구하기
1-1) 요일 구하기 (정수)
SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd') AS "날짜"
, TO_CHAR(SYSDATE, 'd') AS "요일"
FROM dual;
TO_CHAR 함수의 포맷 인자에 "d"를 입력하면 해당 날짜의 요일이 정수로 반환된다.
* 1:일요일, 2:월요일, 3:화요일, 4:수요일, 5:목요일, 6:금요일, 7:토요일
1-2) 주말(토요일, 일요일) 구하기
SELECT CASE WHEN TO_CHAR(SYSDATE,'D') IN ('1','7') // 2023-09-24
THEN '주말'
ELSE '평일' END AS WEEK_DAY
FROM DUAL;
2) 요일 구하기 (한글)
SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd') AS "날짜"
, TO_CHAR(SYSDATE, 'dy') AS "요일1"
, TO_CHAR(SYSDATE, 'day') AS "요일2"
FROM dual
3) 특정 기간의 주말 구하기 ( 20230901 ~ 20230924 )
SELECT CASE WHEN TO_CHAR(TO_DATE(DT),'D') IN ('1','7')
THEN '주말'
ELSE '평일' END AS WEEK_DAY
FROM (
SELECT TO_CHAR(TO_DATE(ST_DT, 'YYYYMMDD') + LEVEL - 1, 'YYYYMMDD') AS DT
FROM ( SELECT '20230901' AS ST_DT,'20230924' AS END_DT
FROM DUAL )
CONNECT BY LEVEL <= TO_DATE(END_DT, 'YYYYMMDD') - TO_DATE(ST_DT, 'YYYYMMDD') + 1
);
728x90
728x90