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

MySQL DATETIME에서 시간(시분초) 제거하고 날짜만 추출하는 방법

MySQL에서 DATETIME 값의 시간 구성 요소 제거하기

MySQL에서 DATETIME 타입 컬럼에 저장된 날짜와 시간 중 날짜만 필요한 경우, 내장 함수인 DATE()를 사용하면 시간 구성 요소를 손쉽게 제거할 수 있습니다.

기본 문법

DATE() 함수는 DATETIME 값에서 시간 부분을 잘라내고 날짜만 반환합니다. 기본 사용 문법은 다음과 같습니다.

SELECT DATE(yourColumnName) FROM yourTableName;

실습 예제

개념을 이해하기 위해 먼저 테스트용 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE StripComponentDatetimeDemo
   -> (
   -> YourDateTime datetime
   -> );
Query OK, 0 rows affected (0.60 sec)

다음으로 테이블에 샘플 데이터를 삽입합니다. 아래 쿼리는 현재 시간에 하루를 더한 값을 저장합니다.

mysql> INSERT INTO StripComponentDatetimeDemo VALUES(DATE_ADD(NOW(), INTERVAL 1 DAY));
Query OK, 1 row affected (0.13 sec)

저장된 데이터 확인

SELECT 문을 사용하여 삽입된 DATETIME 값을 조회해 보겠습니다.

mysql> SELECT * FROM StripComponentDatetimeDemo;

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

+---------------------+
| YourDateTime        |
+---------------------+
| 2018-11-25 20:15:07 |
+---------------------+
1 row in set (0.00 sec)

DATE() 함수로 시간 제거하기

이제 DATE() 함수를 적용하여 시간 구성 요소를 제거한 쿼리는 다음과 같습니다.

mysql> SELECT DATE(YourDateTime) FROM StripComponentDatetimeDemo;

실행 결과를 확인해 보면 시간 정보가 제거되고 날짜만 출력되는 것을 볼 수 있습니다.

+--------------------+
| DATE(YourDateTime) |
+--------------------+
| 2018-11-25         |
+--------------------+
1 row in set (0.00 sec)

정리

이처럼 MySQL에서는 DATE() 함수 하나만으로 DATETIME 값에서 시간 부분을 간단히 제거할 수 있습니다. 참고로 동일한 결과를 얻기 위해 CAST(yourColumnName AS DATE) 또는 DATE_FORMAT(yourColumnName, '%Y-%m-%d') 함수를 활용하는 방법도 있으니 상황에 맞게 선택하여 사용하시면 됩니다.