MySQL DATE_FORMAT 함수: 날짜 형식을 자유롭게 다루는 방법
안녕하세요, 데이터베이스 초보자부터 전문가까지 모두를 위한 MySQL 팁을 공유하는 블로그에 오신 것을 환영합니다! 오늘은 MySQL에서 날짜 데이터를 원하는 형식으로 출력할 때 유용한 DATE_FORMAT 함수에 대해 자세히 알아보겠습니다. 이 함수를 사용하면 날짜를 보기 좋게 포맷팅하거나, 특정 형식으로 데이터를 가공할 수 있어 실무에서 정말 유용합니다. 그럼 바로 사용법과 예시를 통해 배워볼까요?
DATE_FORMAT 함수란?
DATE_FORMAT은 MySQL에서 날짜와 시간 데이터를 사용자가 원하는 형식으로 변환해주는 함수입니다. 예를 들어, 데이터베이스에 저장된 2025-03-31 14:30:00 같은 날짜를 "2025년 3월 31일 오후 2시 30분"처럼 읽기 쉽게 바꾸고 싶을 때 사용합니다.
기본 문법

- date: 포맷팅하고 싶은 날짜 데이터 (예: 2025-03-31, NOW() 등)
- format: 날짜를 어떤 형식으로 출력할지 지정하는 포맷 문자열
이제 이 format에 들어갈 수 있는 주요 형식 지정자를 알아보겠습니다.
주요 형식 지정자 (Format Specifiers)
DATE_FORMAT에서 사용할 수 있는 형식 지정자는 매우 다양합니다. 아래는 자주 쓰이는 몇 가지 예입니다:
%Y | 4자리 연도 | 2025 |
%y | 2자리 연도 | 25 |
%m | 2자리 월 (01-12) | 03 |
%M | 월 이름 (January 등) | March |
%d | 2자리 일 (01-31) | 31 |
%H | 24시간 형식 (00-23) | 14 |
%h | 12시간 형식 (01-12) | 02 |
%i | 분 (00-59) | 30 |
%s | 초 (00-59) | 00 |
%p | AM/PM 표시 | PM |
%W | 요일 이름 | Monday |
%a | 요일 약어 | Mon |
이 외에도 더 많은 지정자가 있지만, 위의 목록이 실무에서 가장 자주 사용됩니다. 지정자를 조합하면 원하는 대로 날짜 형식을 만들 수 있습니다!
사용 예시
이제 실제로 DATE_FORMAT을 써보겠습니다. MySQL 쿼리와 그 결과를 함께 보여드릴게요.
예시 1: 기본적인 날짜 포맷팅

결과: 2025-03-31
설명: %Y-%m-%d는 "연도-월-일" 순으로 출력하라는 뜻이에요. 간단하지만 자주 쓰이는 형식입니다.
예시 2: 한국식 날짜 표현

결과: 2025년 03월 31일
설명: 한국어 스타일로 "년", "월", "일"을 추가했습니다. 텍스트와 지정자를 섞어서 자연스럽게 표현할 수 있어요.
예시 3: 시간까지 포함한 포맷

결과: 2025-03-31 14:30:00
설명: 시간(%H), 분(%i), 초(%s)를 추가해 완전한 날짜-시간 형식을 만들었습니다.
예시 4: 12시간제와 AM/PM 사용

결과: 02:30 PM
설명: %h로 12시간제를 사용하고, %p로 AM/PM을 표시했어요. 오후 2시 30분이 맞죠?
예시 5: 요일과 함께 출력

결과: Monday, March 31, 2025
설명: 요일(%W), 월 이름(%M), 일(%d), 연도(%Y)를 조합해 영어권에서 자주 쓰이는 형식을 만들어봤습니다.
예시 6: 현재 날짜에 적용

결과: (현재 시각에 따라 다름, 예: 2025-03-31 09:15:23)
설명: NOW() 함수와 함께 사용하면 현재 날짜와 시간을 원하는 형식으로 출력할 수 있어요.
팁
- NULL 값 주의: date 값이 NULL이면 결과도 NULL로 나옵니다. 쿼리 작성 시 데이터가 제대로 들어있는지 확인하세요.
- 로케일 고려: %M이나 %W 같은 지정자는 서버의 언어 설정에 따라 영어 외 다른 언어로 나올 수 있습니다.
- 성능: 간단한 포맷팅은 부하가 적지만, 대량 데이터 작업 시 불필요한 포맷팅은 피하는 게 좋습니다.
마무리
MySQL의 DATE_FORMAT 함수는 날짜 데이터를 다룰 때 정말 강력한 도구입니다. 위 예시를 참고해 여러분이 원하는 형식으로 자유롭게 커스터마이징해보세요! 질문이 있거나 더 알고 싶은 내용이 있다면 댓글로 남겨주시면 최대한 자세히 답변드릴게요. 다음 포스팅에서도 유용한 MySQL 팁으로 찾아뵙겠습니다. 즐거운 데이터베이스 생활 되세요!
[리눅스 명령어] grep 사용법 완벽 정리 Linux (파일에서 특정 단어 검색하기)
https://tkpark86.tistory.com/20
[리눅스 명령어] grep 사용법 완벽 정리 Linux (파일에서 특정 단어 검색하기)
리눅스 명령어 - grep 완벽 정리안녕하세요, 구글에서 가장 많이 검색하는 리눅스 명령어 중 하나로 꼽히는 grep에 대해 자세히 알아보고, 실용적인 예시와 결과를 함께 살펴보겠습니다. grep이란?g
tkpark86.tistory.com
[리눅스 명령어] find 사용법 완벽 정리 Linux (파일찾기, 검색, 하위 디렉토리)
https://tkpark86.tistory.com/21
[리눅스 명령어] find 사용법 완벽 정리 Linux (파일찾기, 검색, 하위 디렉토리)
리눅스 find 명령어 완벽 정리: 초보 개발자도 쉽게 따라 하기안녕하세요, 리눅스에서 파일이나 폴더를 찾을 때 여러분은 보통 어떻게 하시나요? 저는 find 명령어가 정말 유용해서 자주 애용하는
tkpark86.tistory.com
#MySQL #날짜 #형식 #사용법 #DATE_FORMAT #함수 #변환 #포맷 #format #datetime
'Post' 카테고리의 다른 글
[Javascript] Array.prototype.map 사용법 map() 함수 완벽 정리 | 자바스크립트 (0) | 2025.04.04 |
---|---|
[Javascript] 문자열 자르기 substr(), substring(), slice() 비교 자바스크립트 함수 (0) | 2025.04.02 |
[리눅스 명령어] find 사용법 완벽 정리 Linux (파일찾기, 검색, 하위 디렉토리) (0) | 2025.03.31 |
[리눅스 명령어] grep 사용법 완벽 정리 Linux (파일에서 특정 단어 검색하기) (0) | 2025.03.28 |
17. ZigBee (0) | 2015.02.27 |