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

MySQL에서 SELECT * 쿼리로 날짜 형식 지정하는 방법 – DATE_FORMAT() 함수 활용법

MySQL에서 날짜를 원하는 형식으로 출력하려면 FORMATDATE()가 아닌 DATE_FORMAT() 함수를 사용해야 합니다. 많은 분들이 함수 이름을 혼동하시는데, MySQL에 존재하는 올바른 함수는 DATE_FORMAT()입니다.

DATE_FORMAT() 기본 문법

SELECT *, DATE_FORMAT(날짜컬럼명, '원하는형식') AS 별칭 FROM 테이블명;

위 문법을 이해하기 위해 실제 예제 테이블을 만들어 보겠습니다.

예제 테이블 생성

먼저 사용자 로그인 정보를 저장할 테이블을 생성합니다.

mysql> create table DateFormatDemo
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName varchar(10),
    -> UserLoginDate date
    -> );
Query OK, 0 rows affected (0.94 sec)

다음으로 INSERT 명령어를 사용해 샘플 데이터를 입력합니다.

mysql> insert into DateFormatDemo(UserName,UserLoginDate) values('Mike',curdate());
Query OK, 1 row affected (0.21 sec)
mysql> insert into DateFormatDemo(UserName,UserLoginDate) values('Sam','2018-05-09');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DateFormatDemo(UserName,UserLoginDate) values('Carol','2016-01-15');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DateFormatDemo(UserName,UserLoginDate) values('Bob','2015-12-31');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DateFormatDemo(UserName,UserLoginDate) values('David','2012-08-19');
Query OK, 1 row affected (0.09 sec)

저장된 데이터 확인

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

mysql> select *from DateFormatDemo;

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

+----+----------+---------------+
| Id | UserName | UserLoginDate |
+----+----------+---------------+
|  1 | Mike     | 2019-02-06    |
|  2 | Sam      | 2018-05-09    |
|  3 | Carol    | 2016-01-15    |
|  4 | Bob      | 2015-12-31    |
|  5 | David    | 2012-08-19    |
+----+----------+---------------+
5 rows in set (0.00 sec)

SELECT * 와 DATE_FORMAT() 함께 사용하기

이제 SELECT * 쿼리와 DATE_FORMAT() 함수를 함께 사용하여 날짜 형식을 변경해 보겠습니다. 여기서는 '%d-%m-%Y' 형식을 적용하여 일-월-년 순서로 출력합니다.

mysql> select *,DATE_FORMAT(UserLoginDate,'%d-%m-%Y') as NewFormatOfDate from DateFormatDemo;

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

+----+----------+---------------+-----------------+
| Id | UserName | UserLoginDate | NewFormatOfDate |
+----+----------+---------------+-----------------+
|  1 | Mike     | 2019-02-06    | 06-02-2019      |
|  2 | Sam      | 2018-05-09    | 09-05-2018      |
|  3 | Carol    | 2016-01-15    | 15-01-2016      |
|  4 | Bob      | 2015-12-31    | 31-12-2015      |
|  5 | David    | 2012-08-19    | 19-08-2012      |
+----+----------+---------------+-----------------+
5 rows in set (0.00 sec)

주요 날짜 형식 지정자

DATE_FORMAT()에서 자주 사용되는 형식 지정자는 다음과 같습니다.

  • %Y : 4자리 연도 (예: 2024)
  • %y : 2자리 연도 (예: 24)
  • %m : 2자리 월 (01~12)
  • %d : 2자리 일 (01~31)
  • %H : 24시간제 시간
  • %i : 분
  • %s : 초

이처럼 DATE_FORMAT() 함수를 활용하면 원본 데이터는 그대로 유지하면서, 조회 결과만 원하는 날짜 형식으로 손쉽게 변환할 수 있습니다.