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

MySQL DATETIME에서 날짜만 추출하는 방법 – DATE_FORMAT 함수 활용하기

MySQL DATETIME에서 날짜만 추출하는 방법

MySQL에서 DATETIME 타입의 값에서 시간 정보를 제외하고 날짜만 가져오려면 DATE_FORMAT() 함수와 날짜 형식 지정자를 사용하면 됩니다.

1. 주요 날짜 형식 지정자

%d : 일(day)
%m : 월(month)
%Y : 연도(year)

2. 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    AdmissionDate datetime
);
Query OK, 0 rows affected (0.52 sec)

3. 데이터 삽입

INSERT 명령어로 몇 개의 레코드를 삽입합니다.

mysql> insert into DemoTable values('2019-07-21 12:34:56');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2016-08-18 10:00:02');
Query OK, 1 row affected (0.51 sec)
mysql> insert into DemoTable values('2018-01-03 11:02:20');
Query OK, 1 row affected (0.12 sec)

4. 전체 레코드 조회

SELECT 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

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

+---------------------+
| AdmissionDate       |
+---------------------+
| 2019-07-21 12:34:56 |
| 2016-08-18 10:00:02 |
| 2018-01-03 11:02:20 |
+---------------------+
3 rows in set (0.00 sec)

5. 날짜만 추출하는 쿼리

이제 DATE_FORMAT() 함수를 사용해 날짜만 추출해 보겠습니다.

mysql> select date_format(AdmissionDate,'%d.%m.%Y') AS Date from DemoTable;

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

+------------+
| Date       |
+------------+
| 21.07.2019 |
| 18.08.2016 |
| 03.01.2018 |
+------------+
3 rows in set (0.00 sec)

위 쿼리는 AdmissionDate 컬럼의 값을 '일.월.연도' 형태로 변환하여 출력합니다. 형식 지정자의 순서나 구분 기호는 자유롭게 변경할 수 있으며, 예를 들어 '%Y-%m-%d'를 사용하면 '2019-07-21'처럼 ISO 표준 형식으로 출력됩니다.

참고: DATE() 함수 활용하기

별도의 형식 변환이 필요 없고 단순히 날짜 부분만 필요하다면 DATE() 함수를 사용하는 것이 더 간단합니다.

mysql> select DATE(AdmissionDate) AS Date from DemoTable;

이 경우 'YYYY-MM-DD' 형식의 날짜가 그대로 반환되므로, 상황에 맞게 두 방법 중 적절한 것을 선택하면 됩니다.