본문 바로가기
유틸/MySQL

[MySQL] 날짜 포맷 사용법 정리 (DATE_FORMAT 함수)

by lanuarius19 2022. 6. 12.
728x90

MySQL 날짜 포맷하기 (DATE_FORMAT)

 

MySQL 날짜 포맷하기 (DATE_FORMAT)

이번 포스팅에서는 개발자들이 기본적인 쿼리를 짤 때 가장 많이 하는 것 중 하나인 날짜 포맷에 대해 설명하려 합니다.
날짜 포맷이란 특정 날짜를 사용자가 원하는 형태로 변경하는 것으로, MySQL에서 기본적으로 제공해주는 날짜 포맷 함수인 DATE_FORMAT() 함수에 변환할 날짜와 '-, .' 등의 구분자를 넣어 사용합니다.
날짜 포맷을 하기 위해서는 아래에 나와있는 포맷 문자를 넣은 뒤 구분자나 띄어쓰기 등을 사용하여 표현하면 됩니다.

포맷문자 설명(예시) 포맷문자 설명(예시)
%Y 년도 (2021) %m 월 (01, 02, 11)
%y 년도 (21) %c 월 (1, 8)
%d 일(01, 19) %M 월 (January, August)
%e 일(1, 19) %b 월(Jan, Aug)
%T 시간 (12:30:00) %W 요일(Wednesday, friday)
%r 시간 (12:30:00 AM) %a 요일(Wed, Fri)
%H 24시간 시간(01, 14, 18) %i 분 (00)
%l 12시간 시간 (01, 02, 06) %S 초 (00)




아래에서는 프로젝트에 많이 쓰이는 날짜 형식으로 변환해보겠습니다.

SELECT DATE_FORMAT('20000119', '%y%m%d')
→ 000119


SELECT DATE_FORMAT('20000119', '%Y.%m.%d')
→ 2000.01.19


SELECT DATE_FORMAT('20000119', '%Y/%m/%d')
→ 2000/01/19


SELECT DATE_FORMAT('20000119123000', '%Y.%m.%d %H:%i:%S')
→ 2000.01.19 12:30:00


SELECT DATE_FORMAT('20000119123000', '%Y.%m.%d %H:%i:%S %W')
→ 2000.01.19 12:30:00 Wednesday

위와 같이 포맷문자만 사용한다면 공백, 특수문자의 자유로운 사용이 가능하여 개발자가 원하는 형식으로 날짜 포맷이 가능합니다.

 

MySQL 날짜 영문으로 변환하기

이외에도 많이 쓰이진 않지만 영문 수료증, 영문 소개 페이지 등과 같이 날짜를 영문으로 조회해야 할 때가 있는데, 이 경우 영문으로 날짜를 변환하는 방법은 다음과 같습니다.

SELECT DATE_FORMAT('20000119', '%W, %e %M %Y, %r')
Wednesday, 19 January 2000, 12:00:00 AM



포스팅에서 잘못된 점이나 궁금하신 점이 있다면 댓글 남겨주세요!
읽어주셔서 감사합니다 :)

728x90

'유틸 > MySQL' 카테고리의 다른 글

[MySQL] 쿼리 조건문 사용법 (IF, CASE)  (29) 2022.06.18
[MySQL] 나이 계산  (4) 2022.06.12

댓글