Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 DATE_FORMAT() 함수로 날짜를 조회하고 텍스트 형식으로 변환하는 방법

MySQL에서 저장된 날짜 값을 원하는 텍스트 형식으로 조회하려면 DATE_FORMAT() 함수를 사용하면 됩니다. 이 함수는 날짜 컬럼과 형식 지정자(format specifier)를 인자로 받아, 지정한 패턴에 맞게 변환된 문자열을 반환합니다.

기본 문법

select date_format(yourColumnName, '%e %b %y') from yourTableName;

여기서 사용된 형식 지정자의 의미는 다음과 같습니다.

  • %e : 일(日)을 나타내며, 한 자리 숫자일 경우 앞에 0을 붙이지 않습니다. (예: 1~31)
  • %b : 월을 영문 약어로 표시합니다. (예: Jan, Feb, Mar)
  • %y : 연도를 두 자리 숫자로 표시합니다. (예: 19, 20)

실습용 테이블 생성

먼저 예제에 사용할 테이블을 만들어 보겠습니다.

mysql> create table DemoTable
    -> (
    -> DueDate date
    -> );
Query OK, 0 rows affected (0.52 sec)

샘플 데이터 삽입

insert 명령을 사용해 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable values('2019-01-11');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2019-12-21');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-09-15');
Query OK, 1 row affected (0.07 sec)

저장된 데이터 확인

select 문으로 테이블의 전체 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

위 쿼리는 다음과 같은 결과를 출력합니다.

+------------+
| DueDate    |
+------------+
| 2019-01-11 |
| 2019-12-21 |
| 2019-09-15 |
+------------+
3 rows in set (0.00 sec)

날짜를 텍스트 형식으로 변환하여 조회하기

이제 DATE_FORMAT() 함수를 사용해 날짜를 '일 월 년' 형태의 텍스트로 변환하는 쿼리를 실행해 보겠습니다.

mysql> select date_format(DueDate, '%e %b %y') from DemoTable;

실행 결과는 다음과 같습니다.

+----------------------------------+
| date_format(DueDate, '%e %b %y') |
+----------------------------------+
| 11 Jan 19                        |
| 21 Dec 19                        |
| 15 Sep 19                        |
+----------------------------------+
3 rows in set (0.00 sec)

출력 결과에서 볼 수 있듯이, 원래 'YYYY-MM-DD' 형식으로 저장되어 있던 날짜가 '11 Jan 19', '21 Dec 19', '15 Sep 19'처럼 읽기 좋은 텍스트 형식으로 변환되었습니다. 필요에 따라 형식 지정자를 조합하면 '2024년 5월 3일'과 같은 한국어 형식이나 기타 다양한 패턴으로도 손쉽게 변환할 수 있습니다.