MySQL에서 날짜를 원하는 형식으로 지정하고 월 이름까지 함께 표시하려면 DATE_FORMAT() 함수를 사용하면 됩니다. 이 함수는 다양한 형식 지정자(format specifier)를 조합하여 날짜를 자유롭게 출력할 수 있도록 도와줍니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable605 (DueDate date);
Query OK, 0 rows affected (0.57 sec)
2. 데이터 삽입
INSERT 명령을 사용하여 테이블에 샘플 레코드를 추가합니다.
mysql> insert into DemoTable605 values('2019-01-21');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable605 values('2019-02-23');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable605 values(curdate());
Query OK, 1 row affected (0.15 sec)3. 저장된 데이터 확인
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> select *from DemoTable605;
위 쿼리는 다음과 같은 결과를 출력합니다.
+------------+
| DueDate |
+------------+
| 2019-01-21 |
| 2019-02-23 |
| 2019-03-04 |
| 2019-04-24 |
| 2019-07-13 |
+------------+
5 rows in set (0.00 sec)
4. DATE_FORMAT()으로 월 이름 표시하기
다음은 전체 날짜와 함께 월 이름을 표시하도록 날짜 형식을 지정하는 쿼리입니다.
mysql> select DATE_FORMAT(DueDate, '%d.%M.%Y') from DemoTable605;
실행 결과는 다음과 같습니다.
+----------------------------------+
| DATE_FORMAT(DueDate, '%d.%M.%Y') |
+----------------------------------+
| 21.January.2019 |
| 23.February.2019 |
| 04.March.2019 |
| 24.April.2019 |
| 13.July.2019 |
+----------------------------------+
5 rows in set (0.00 sec)
주요 형식 지정자 정리
- %d : 두 자리 숫자로 표현되는 일(01~31)
- %M : 영문 전체 월 이름(January, February 등)
- %b : 축약된 월 이름(Jan, Feb 등)
- %m : 두 자리 숫자로 표현되는 월(01~12)
- %Y : 네 자리 숫자로 표현되는 연도
이처럼 DATE_FORMAT() 함수를 활용하면 '21.January.2019'와 같이 일, 월 이름, 연도를 점(.)으로 구분하여 간편하게 출력할 수 있습니다. 구분 기호나 형식 지정자의 순서를 자유롭게 변경하면 프로젝트에 맞는 다양한 날짜 형식을 손쉽게 만들 수 있습니다.