DB/MySQL

[MySQL] 날짜, 시간 표기 방식 DATE_FORMAT()

27200 2024. 11. 19. 18:31

 

 

MySQL DATE_FORMAT 활용

MySQL은 DATE, DATETIME, TIMESTAMP 같은 다양한 시간 자료형을 지원합니다. 하지만 SQL문으로 출력할 때 원하는 형식이 아닐 수 있습니다. 예를 들어, DATETIME 자료형에서 시간을 제외하고 출력하려면 어떻게 해야 할까요?

이 글을 참고하면 문제를 해결하기 위해 DATE_FORMAT을 사용하는 것을 볼 수 있습니다. 이제 DATE_FORMAT을 사용하는 다양한 방법을 알아봅시다.

지시자 설명
%a 요일 이름 축약형 (일..토)
%b 월 이름 축약형 (1월..12월)
%c 월 숫자형 (0..12)
%D 날짜에 영어 접미사 추가 (0th, 1st, 2nd 등)
%d 날짜 숫자형 (00..31)
%e 날짜 숫자형 (0..31)
%f 마이크로초 (000000..999999)
%H 시간 (24시간 형식, 00..23)
%h 시간 (12시간 형식, 01..12)
%I 시간 (12시간 형식, 01..12)
%i 분 (00..59)
%j 연도 기준 날짜 (001..366)
%k 시간 (24시간 형식, 0..23)
%l 시간 (12시간 형식, 1..12)
%M 월 이름 (1월..12월)
%m 월 숫자형 (00..12)
%p AM 또는 PM
%r 시간 (12시간 형식, hh:mm:ss AM/PM)
%S 초 (00..59)
%s 초 (00..59)
%T 시간 (24시간 형식, hh:mm:ss)
%U 주 (00..53, 일요일이 주 시작)
%u 주 (00..53, 월요일이 주 시작)
%V 주 (01..53, 일요일이 주 시작, %X와 함께 사용)
%v 주 (01..53, 월요일이 주 시작, %x와 함께 사용)
%W 요일 이름 (일요일..토요일)
%w 요일 (0=일요일..6=토요일)
%X 해당 주의 연도(일요일 시작, 4자리)
%x 해당 주의 연도(월요일 시작, 4자리)
%Y 연도 (4자리 숫자)
%y 연도 (2자리 숫자)
%% 문자 '%'
%x 위에 없는 'x' 문자 그대로 출력

 

과 같다. 

DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d')

 

다음과 같이 사용하면 2024-11-19 와 같은 양식으로 출력할 수 있게 되는 것이다.

 

적절한 사용을 통해 원하는 출력결과를 얻는 방법을 알아두면 도움이 될 것 같다.