DATE_FORMAT 함수 사용법MySQL의 DATE_FORMAT 함수는 날짜 값을 지정한 형식 으로 변환하는 데 사용.
특히 날짜와 시간을 원하는 형식으로 출력할 때 유용.
DATE_FORMAT(date, format)
date: 변환할 날짜 값. (DATE 칼럼명)format: 날짜 형식을 지정하는 문자열입니다.| 형식 지정자 | 설명 | 예시 |
|---|---|---|
%Y | 4자리 연도 | 2024 |
%y | 2자리 연도 | 24 |
%M | 월 이름 | January |
%m | 2자리 월 | 01 |
%b | 축약 월 이름 | Jan |
%c | 월 (1-12) | 1 |
%D | 일 (1st, 2nd, ...) | 1st |
%d | 2자리 일 | 01 |
%e | 일 (1-31) | 1 |
%W | 요일 이름 | Sunday |
%a | 축약 요일 이름 | Sun |
%w | 요일 (0=일요일, 6=토요일) | 0 |
%H | 24시간 형식의 시간 (00-23) | 14 |
%h | 12시간 형식의 시간 (01-12) | 02 |
%I | 12시간 형식의 시간 (01-12) | 02 |
%k | 24시간 형식의 시간 (0-23) | 14 |
%l | 12시간 형식의 시간 (1-12) | 2 |
%i | 2자리 분 (00-59) | 05 |
%r | 12시간 형식 시간 (hh:mm:ss AM/PM) | 02:30:45 PM |
%T | 24시간 형식 시간 (hh:mm:ss) | 14:30:45 |
%S | 2자리 초 (00-59) | 09 |
%s | 2자리 초 (00-59) | 09 |
%p | AM 또는 PM | PM |
%f | 소수점 이하 초 (마이크로초) | 123456 |
%x | 4자리 연도, 주 기반 (예: 2024) | 2024 |
%v | 주 번호 (1-53) | 34 |
%U | 주 번호 (00-53, 일요일 시작) | 33 |
%u | 주 번호 (00-53, 월요일 시작) | 33 |
오프라인과온라인테이블이 존재할 때,2022-03의 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력해라
이 때, 각 테이블의 날짜 데이터는 아래와 같이 저장되어 있다.

2022-03 에 해당하는 데이터만 선택하여 나타내야 한다.
SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE DATE_FORMAT(SALES_DATE, '%Y-%m') = '2022-03'
UNION
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE DATE_FORMAT(SALES_DATE, '%Y-%m') = '2022-03'
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID;
WHERE 절에 날짜를WHERE DATE_FORMAT(SALES_DATE, '%Y-%m') = '2022-03' 이렇게 넣으면 해당하는 모든 날짜 데이터가 출력된다. BETWEEN 을 사용하지 않아도 됨.BETWEEN '2022-03-01' AND '2022-03-31' 와 동일함.