Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

날짜 시간에서 날짜로 변환하는 MySQL 쿼리?

<시간/>

이를 달성하기 위해 MySQL의 CAST() 함수를 사용할 수 있습니다. 구문은 다음과 같습니다 -

SELECT CAST(yourColumnName as Date) as anyVariableName from yourTableName;

위의 구문을 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table ConvertDateTimeToDate
-> (
-> ArrivalDatetime datetime
-> );
Query OK, 0 rows affected (0.37 sec)

insert 명령을 사용하여 테이블에 날짜/시간을 삽입합니다. 쿼리는 다음과 같습니다 -

mysql> insert into ConvertDateTimeToDate values(date_add(now(),interval -1 year));
Query OK, 1 row affected (0.19 sec)

mysql> insert into ConvertDateTimeToDate values('2017-11-21 13:10:20');
Query OK, 1 row affected (0.14 sec)

mysql> insert into ConvertDateTimeToDate values('2016-05-24 21:11:24');
Query OK, 1 row affected (0.26 sec)

mysql> insert into ConvertDateTimeToDate values('2012-04-30 04:05:50');
Query OK, 1 row affected (0.13 sec)

이제 select 명령을 사용하여 테이블의 모든 레코드를 표시해 보겠습니다. 쿼리는 다음과 같습니다.

mysql> select *from ConvertDateTimeToDate;

다음은 출력입니다.

+---------------------+
| ArrivalDatetime     |
+---------------------+
| 2017-12-27 10:05:21 |
| 2017-11-21 13:10:20 |
| 2016-05-24 21:11:24 |
| 2012-04-30 04:05:50 |
+---------------------+
4 rows in set (0.00 sec)

다음은 MySQL에서 datetime에서 date로 변환하는 쿼리입니다.

mysql> select cast(ArrivalDatetime as Date) as Date from ConvertDateTimeToDate;

다음은 출력입니다.

+------------+
| Date       |
+------------+
| 2017-12-27 |
| 2017-11-21 |
| 2016-05-24 |
| 2012-04-30 |
+------------+
4 rows in set (0.00 sec)