MySQL에서 날짜 데이터의 월 이름과 연도 표시하기
MySQL에서는 DATE_FORMAT() 함수를 사용하여 DATETIME 또는 DATE 타입의 값을 원하는 형식의 문자열로 변환할 수 있습니다. 이 글에서는 날짜 레코드가 저장된 열에서 월 이름과 연도를 함께 표시하는 방법을 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable1619
-> (
-> ArrivalTime datetime
-> );
Query OK, 0 rows affected (0.45 sec)
2. 레코드 삽입
INSERT 문을 사용하여 몇 개의 날짜 레코드를 삽입합니다.
mysql> insert into DemoTable1619 values(now());
Query OK, 1 row affected (0.40 sec)
mysql> insert into DemoTable1619 values(curdate());
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1619 values('2019-12-31');
Query OK, 1 row affected (0.17 sec)
NOW() 함수는 현재 날짜와 시간을 반환하고, CURDATE() 함수는 현재 날짜만 반환합니다.
3. 전체 레코드 확인
SELECT 문으로 테이블의 모든 레코드를 조회합니다.
mysql> select * from DemoTable1619;
실행 결과는 다음과 같습니다.
+---------------------+
| ArrivalTime |
+---------------------+
| 2019-10-20 15:02:12 |
| 2019-10-20 00:00:00 |
| 2019-12-31 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)
4. 월 이름과 연도 표시하기
DATETIME 값을 월 이름과 연도 형식으로 변환하려면 다음 쿼리를 사용합니다.
mysql> select date_format(ArrivalTime,'%M %Y') from DemoTable1619;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+----------------------------------+
| date_format(ArrivalTime,'%M %Y') |
+----------------------------------+
| October 2019 |
| October 2019 |
| December 2019 |
+----------------------------------+
3 rows in set (0.00 sec)
주요 형식 지정자 정리
DATE_FORMAT() 함수에서 자주 사용되는 형식 지정자는 다음과 같습니다.
- %M : 월의 전체 영문 이름 (예: January, December)
- %Y : 4자리 연도 (예: 2019)
- %m : 2자리 숫자 월 (01~12)
- %y : 2자리 연도 (예: 19)
이처럼 DATE_FORMAT() 함수를 활용하면 날짜 데이터를 보고서나 화면 출력에 적합한 다양한 형태로 손쉽게 변환할 수 있습니다.