프로그래머스 SQL 고득점 Kit 문제를 풀다보니 월별 출력하기, 시각에 따른 COUNT, 해당 월에 대한 값 등 DATE TYPE을 원하는 형태로 변경해서 사용하는 문제들이 많았다.
위와 같은 형태로 나타낸다. 날짜를 지정한 형식으로 출력하는 것이다.
예를들어 DATE TYPE의 컬럼 START_DATE의 값이 2022-03-06 00:00:00 일 때 우리는 '년-월'의 형태로 출력되기를 기대해보자.
DATE_FORMAT(START_DATE,'%Y-%m)
위와같이 하고 SELECT 을 하면 우리가 원하는 '2022-03'의 형태로 출력된다.
날짜 뿐만 아니라 시간도 추출할 수 있다.
DATE_FORMAT에서 사용하는 구분기호는 아래와 같다.
구분기호 | 역할 | 구분기호 | 역할 |
---|---|---|---|
%Y | 4자리 년도 | %m | 숫자 월(두자리) |
%y | 2자리 년도 | %c | 숫자 월(한자리) |
%M | 긴 월(영문) | %d | 일자(두자리) |
%b | 짧은 월(영문) | %e | 일자(한자리) |
%W | 긴 요일 이름(영문) | %I | 시간(12시간) |
%a | 짧은 요일 이름(영문) | %H | 시간(24시간) |
%i | 분 | %r | hh:mm:ss AM,PM |
%T | hh:mmSS | %S | 초 |
다양하게 추출이 가능하다.
하지만 나는 문제를 풀면서 DATE_FORMAT(날짜,'%Y-%m-%d') 를 가장 많이 사용했다.
이 함수들은 간단하게 2023년에 구매한 회원을 구하고자 할때 DATE_FORMAT을 사용하는 것보다는 YEAR(DATE)가 훨씬 편리하기 때문에 알아두기로!
[ 프로그래머스 SQL 고득점 Kit ]
📑 References