반응형

오라클 / MYSQL의 날짜별 요일 구하는 법

오라클과 MYSQL에서 DATE의 값을 가지고 혹은 날짜형식의 STRING을 가지고 요일을 리턴하는 함수 및 쿼리입니다.
오라클같은경우는 day, dy, d로 요일까지 출력, 요일제외출력, 정수출력 3가지를 지원해서 더 편합니다.
MYSQL 같은경우에는 영어로 요일이 나와서 정수형식을 리턴받아서 한글로 변환해줘야합니다.

오라클 날짜 요일구하기

TO_CHAR( 날짜, 'day' )

*day = 월요일
*dy = 월
*d = 2 ( 1~7 일~토)


-- String으로 요일구하기

SELECT
   TO_CHAR( (TO_DATE(20171101) ), 'day')
FROM DUAL

결과값 = 수요일

SELECT
   TO_CHAR( (TO_DATE(20171101) ), 'dy')
FROM DUAL

결과값 = 수

SELECT
   TO_CHAR( (TO_DATE(20171101) ), 'd')
FROM DUAL

결과값 = 4

 

-- date로 요일구하기

SELECT
    TO_CHAR(SYSDATE, 'day')
FROM DUAL

결과값 = (오늘이 금요일일때!) 금요일

SELECT 
    TO_CHAR(SYSDATE, 'day') 
FROM DUAL

결과값 = (오늘이 금요일일때!) 금

SELECT 
    TO_CHAR(SYSDATE, 'day') 
FROM DUAL

결과값 = (오늘이 금요일일때!) 6


MYSQL 날짜 요일구하기

DAYOFWEEK( DATE ) -- 정수로 리턴

DAYNAME( DATE ) -- 영어요일로 리턴

*DAYOFWEEK 숫자 ( 1~7 일~토 )


SELECT DAYOFWEEK( '2017-11-10' )

결과값 = 6

SELECT DAYNAME( '2017-11-13' )

결과값 = Monday


한글값 요일을 불러오고싶을 때

SELECT SUBSTR(_UTF8'일월화수목금토', DAYOFWEEK('2017-11-10'), 1 );



반응형

+ Recent posts