MySQL의 DATE_FORMAT() 함수는 DATE 또는 DATETIME 값을 원하는 형식의 문자열로 변환할 때 사용하는 강력한 도구입니다. 이 함수는 형식 지정자(format specifier)를 인자로 받아 해당 기호에 맞게 날짜와 시간을 출력합니다. 아래 표에서 DATE_FORMAT() 함수에서 사용할 수 있는 주요 날짜 형식 문자와 각각의 의미를 확인해 보세요.
MySQL DATE_FORMAT() 주요 날짜 형식 문자
| 형식 문자 | 의미 및 출력 결과 |
|---|---|
| %a | 요일 이름을 축약형으로 표시합니다. (예: Sun, Mon, Tue, Wed, Thu, Fri, Sat) |
| %b | 월 이름을 축약형으로 표시합니다. (예: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec) |
| %c | 월을 숫자로 표시하며, 앞에 0이 붙지 않습니다. (예: 1, 2, 3 ... 12) |
| %D | 일(day)에 영어 서수 접미사를 붙여 표시합니다. (예: 1st, 2nd, 3rd, 4th ... 31st) |
| %d | 서수 접미사 없이 두 자리 숫자로 일을 표시합니다. (예: 01, 02, 03 ... 31) |
| %j | 연 중 몇 번째 날인지 세 자리 숫자로 표시합니다. (예: 001, 002, 003 ... 366) |
| %M | 월 이름을 전체 이름으로 표시합니다. (예: January, February, March ... December) |
| %m | 월을 두 자리 숫자로 표시합니다. (예: 01, 02, 03 ... 12) |
| %U | 주(week) 번호를 두 자리 숫자로 표시하며, 일요일을 한 주의 첫날로 간주합니다. (예: 00, 01, 02 ... 53) |
| %u | 주 번호를 두 자리 숫자로 표시하며, 월요일을 한 주의 첫날로 간주합니다. (예: 00, 01, 02 ... 53) |
| %W | 요일 이름을 전체 이름으로 표시합니다. (예: Sunday, Monday, Tuesday ... Saturday) |
| %Y | 연도를 네 자리 숫자로 표시합니다. (예: 1997, 2005, 2025) |
| %y | 연도를 두 자리 숫자로 표시합니다. (예: 97, 05, 25) |
DATE_FORMAT() 사용 예시
여러 형식 문자를 조합하면 다양한 스타일로 날짜를 출력할 수 있습니다.
SELECT DATE_FORMAT('2025-03-08', '%W, %M %D, %Y');결과: Saturday, March 8th, 2025
SELECT DATE_FORMAT('2025-03-08', '%y년 %m월 %d일 (%a)');결과: 25년 03월 08일 (Sat)
대소문자 구분에 주의하세요. 같은 알파벳이라도 대문자(%M, %D)와 소문자(%m, %d)는 완전히 다른 의미로 해석되므로, 원하는 출력 형식에 맞게 정확한 형식 문자를 사용하는 것이 중요합니다.