웹앱프로젝트/Mysql

mysql 에서 요일 추출하기 (CASE이용, SUBSTR이용)

Minah Park 2022. 1. 10. 17:08
반응형

2가지의 방법이 있음

첫번째, MYSQL 에 있는 DATYOFWEEK 함수를 CASE와 함께 이용하는 방법!

DAYOFWEEK 자체는 숫자로 반환해주는 함수이다. 그래서 반환되는 숫자마다 CASE로 조건문을 걸어줘서 요일을 한글로 설정해주는 방법이다. 근데 이 방법은 한 쿼리에 여러 날짜에 대한 요일을 구할때는 너무 불편했다. 그래서 이 CASE문 자체를 FUNCTION 을 만들려다가 다시 찾아보니 더 쉬운방법이 있었다!!!!!

두번째, SUBSTR을 이용한 방법!!

'일월화수목금토' 라는 문자열에서 DAYOFWEEK 함수에서 반환되는 숫자에 해당하는 자리에서 한글자만 잘라내는거다.

참고로 _UTF-8이라고 앞에 적어둔 것은, MYSQL 인코딩이 한글로 되어있지 않은경우 에러가 나기때문에 해놓은 것 같다. 만약 UTF-8로 인코딩이 이미 설정되어있다면, 굳이 저건 적지 않아도 된다.

원리만 이해하면 참 쉬운데...... 나는 언제 이렇게 머리쓰는 방법을 터득할 수 있을까????

참고: https://okkks.tistory.com/1086

 

mysql 요일 계산 / 날짜의 요일 select / 한글 요일 출력 구하기 / dayofweek / substr / 문자열 / 한글깨짐

DAYOFWEEK 함수 : 요일 출력 함수, 1(일요일)~7(토요일) 숫자로 출력 예> SELECT DAYOFWEEK('2015-07-18 23:13:31') AS week; 또는 SELECT DAYOFWEEK('2015-07-18') AS week; 결과> 7 한글 요일로 출력하기 : 숫자..

okkks.tistory.com

반응형

 

반응형