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

MySQL에서 날짜 형식을 d/m/y로 변환하는 방법 (DATE_FORMAT 함수 활용)

MySQL 날짜 형식을 d/m/y로 변경하기

MySQL에서 저장된 날짜 데이터를 일/월/년(d/m/y) 형식으로 표시하고 싶다면 DATE_FORMAT() 함수를 사용하면 됩니다. 이 함수는 날짜 값을 원하는 형식의 문자열로 손쉽게 변환해 줍니다.

기본 문법

SELECT DATE_FORMAT(컬럼명, '%d/%m/%Y') AS 별칭 FROM 테이블명;

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

  • %d : 일(day)을 두 자리 숫자로 표시 (01~31)
  • %m : 월(month)을 두 자리 숫자로 표시 (01~12)
  • %Y : 연도(year)를 네 자리 숫자로 표시

예제 테이블 생성

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

mysql> CREATE TABLE DemoTable
(
    AdmissionDate date
);
Query OK, 0 rows affected (0.89 sec)

데이터 삽입

INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.

mysql> INSERT INTO DemoTable VALUES('2019-01-21');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('2019-09-09');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('2018-12-31');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('2017-11-01');
Query OK, 1 row affected (0.16 sec)

저장된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM DemoTable;

실행 결과는 다음과 같습니다. 기본적으로 MySQL은 날짜를 YYYY-MM-DD 형식으로 저장하고 표시합니다.

+---------------+
| AdmissionDate |
+---------------+
|    2019-01-21 |
|    2019-09-09 |
|    2018-12-31 |
|    2017-11-01 |
+---------------+
4 rows in set (0.00 sec)

날짜 형식을 d/m/y로 변환하는 쿼리

이제 DATE_FORMAT() 함수를 적용하여 날짜를 d/m/y 형식으로 변경해 보겠습니다.

mysql> SELECT DATE_FORMAT(AdmissionDate,'%d/%m/%Y') AS AdmissionDate FROM DemoTable;

위 쿼리를 실행하면 다음과 같이 날짜가 일/월/년 순서로 출력됩니다.

+---------------+
| AdmissionDate |
+---------------+
| 21/01/2019    |
| 09/09/2019    |
| 31/12/2018    |
| 01/11/2017    |
+---------------+
4 rows in set (0.00 sec)

참고 사항

DATE_FORMAT() 함수는 결과를 문자열로 반환한다는 점에 유의하세요. 즉, 원본 컬럼의 데이터 타입이나 저장된 값 자체가 변경되는 것은 아니며, 조회 시점에 표시 형식만 바뀌는 것입니다. 따라서 정렬이나 날짜 연산이 필요한 경우에는 원본 DATE 타입 컬럼을 기준으로 작업하는 것이 좋습니다.