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

MySQL에서 날짜 형식 변경하기: 2020-04-30을 30-04-2020으로 표시하는 방법

MySQL 데이터베이스에 저장된 날짜는 기본적으로 YYYY-MM-DD 형식(예: 2020-04-30)으로 저장됩니다. 하지만 경우에 따라 DD-MM-YYYY 형식(예: 30-04-2020)처럼 다른 형태로 날짜를 화면에 표시해야 할 필요가 있습니다.

이럴 때 MySQL에서 제공하는 DATE_FORMAT() 함수를 사용하면 간단하게 해결할 수 있습니다. 이 함수는 저장된 날짜 값을 원하는 형식의 문자열로 변환하여 반환합니다.

DATE_FORMAT() 함수 문법

SELECT DATE_FORMAT(yourColumnName, '%d-%m-%Y') AS anyAliasName FROM yourTableName;

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

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

실습 예제

1. 테이블 생성

먼저 날짜 컬럼을 가진 테이블을 생성합니다.

mysql> create table demo80
    -> (
    -> due_date date
    -> );
Query OK, 0 rows affected (0.74 sec)

2. 데이터 삽입

INSERT 명령어를 사용해 샘플 날짜 데이터를 입력합니다.

mysql> insert into demo80 values('2020-04-30');
Query OK, 1 row affected (0.14 sec)

mysql> insert into demo80 values('2016-01-10');
Query OK, 1 row affected (0.17 sec)

mysql> insert into demo80 values('2018-03-21');
Query OK, 1 row affected (0.12 sec)

3. 저장된 데이터 확인

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

mysql> select *from demo80;

실행 결과는 다음과 같습니다. 날짜가 기본 형식인 YYYY-MM-DD로 출력되는 것을 확인할 수 있습니다.

출력 결과

+------------+
| due_date   |
+------------+
| 2020-04-30 |
| 2016-01-10 |
| 2018-03-21 |
+------------+
3 rows in set (0.00 sec)

날짜 형식을 DD-MM-YYYY로 변환하는 쿼리

이제 DATE_FORMAT() 함수를 적용하여 2020-04-30 대신 30-04-2020 형식으로 날짜를 표시하는 쿼리입니다.

mysql> select date_format(due_date,'%d-%m-%Y') as ShowDate from demo80;

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

출력 결과

+------------+
| ShowDate   |
+------------+
| 30-04-2020 |
| 10-01-2016 |
| 21-03-2018 |
+------------+
3 rows in set (0.03 sec)

마무리

이처럼 MySQL의 DATE_FORMAT() 함수를 활용하면 데이터베이스에 저장된 날짜 값은 그대로 유지하면서, 화면에 보여지는 형식만 자유롭게 변경할 수 있습니다. 참고로 이 함수는 단순히 표시 형식만 바꾸는 것이므로, 실제 테이블에 저장된 DATE 타입 데이터에는 영향을 주지 않습니다. 프로젝트 요구 사항에 맞게 다양한 형식 지정자를 조합하여 활용해 보시기 바랍니다.