목적: 오라클에서 주어진 날짜에서 요일을 구하기.
SELECT TO_CHAR(sysdate, dy) FROM dual;
이렇게 하면 오늘의 요일을 구할 수 있다.
또한 DATE Type이 아닌 VARCHAR2 Type일 경우에는 TO_DATE함수로 날짜값으로 변환해서 비교할 수 있다.
SELECT TO_CHAR(TO_DATE(field_name, 'YYYY-MM-DD'), dy) FROM table_name;
이렇게 하면 요일을 반환해준다.
참고!
뒤에 오는 인자에 따라 반환하는 값이 달라진다.
TO_CHAR(sysdate, d): [숫자 0(일)~6(토)] 숫자로 반환한다.
TO_CHAR(sysdate, dy): [문자 일~토] 한자리 문자로 반환한다.
TO_CHAR(sysdate, day): [문자 일요일~토요일] 세자리 문자로 반환한다.
출력되는 값들의 형태는 'NLS_DATE_LANGUAGE = language'의 설정에 따라 달라진다.
그리고 NLS_DATE_LANGUAGE 값이 없을 경우에는 현재 세션의 언어 설정을 따라간다.
cf. NLS_DATE_LANGUAGE 설정값을 보는 것은
SELECT * FROM NLS_SESSION_PARAMETERS;
이 쿼리를 실행하면 볼 수 있다.


