MySQL에서 날짜를 월 이름(MonthName)과 연도(Year) 형식으로 출력하려면 DATE_FORMAT() 함수를 사용하면 됩니다. 이 함수는 다양한 형식 지정자(specifier)를 지원하며, 그중 %M은 월 이름, %Y는 4자리 연도를 나타냅니다.
실제 동작 과정을 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
AdmissionDate date
);
Query OK, 0 rows affected (0.69 sec)2. 데이터 삽입
INSERT 명령을 사용해 테이블에 날짜 데이터를 삽입합니다.
mysql> insert into DemoTable(AdmissionDate) values('2013-04-21');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(AdmissionDate) values('2014-01-31');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(AdmissionDate) values('2016-09-01');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(AdmissionDate) values('2018-12-12');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(AdmissionDate) values('2019-04-01');
Query OK, 1 row affected (0.15 sec)3. 저장된 데이터 확인
SELECT 명령으로 테이블의 전체 레코드를 조회합니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+----+---------------+ | Id | AdmissionDate | +----+---------------+ | 1 | 2013-04-21 | | 2 | 2014-01-31 | | 3 | 2016-09-01 | | 4 | 2018-12-12 | | 5 | 2019-04-01 | +----+---------------+ 5 rows in set (0.00 sec)
4. DATE_FORMAT()으로 월 이름과 연도 출력
이제 DATE_FORMAT() 함수에 %M %Y 형식 지정자를 적용하여 월 이름과 연도만 반환하는 쿼리를 실행합니다.
mysql> select DATE_FORMAT(AdmissionDate,'%M %Y') AS MonthNameAndYear FROM DemoTable;
실행 결과는 다음과 같습니다.
+------------------+ | MonthNameAndYear | +------------------+ | April 2013 | | January 2014 | | September 2016 | | December 2018 | | April 2019 | +------------------+ 5 rows in set (0.02 sec)
참고: 자주 사용되는 형식 지정자
DATE_FORMAT()에서 활용할 수 있는 주요 형식 지정자는 다음과 같습니다.
%M— 월의 전체 이름 (예: January, February)%b— 월의 축약 이름 (예: Jan, Feb)%Y— 4자리 연도 (예: 2024)%y— 2자리 연도 (예: 24)%m— 숫자 형식의 월 (01~12)%d— 숫자 형식의 일 (00~31)
이처럼 형식 지정자를 조합하면 'April 2013'과 같은 형식뿐만 아니라 '2013년 4월'처럼 원하는 다양한 날짜 형식을 손쉽게 만들 수 있습니다.