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

MySQL에서 DATETIME을 DATE로 캐스팅하는 방법은 무엇입니까?

<시간/>

MySQL에서 DATETIME을 DATE로 캐스팅하려면 CAST() 함수를 사용하십시오. 구문은 다음과 같습니다 -

select cast(yourColumnName as Date) as anyVariableName from yourTableName;

위의 구문을 이해하기 위해 먼저 테이블을 생성하겠습니다 -

mysql> create table ConvertDatetimeToDate
−> (
   −> YourDatetime datetime
−> );
Query OK, 0 rows affected (0.95 sec)

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

mysql> insert into ConvertDatetimeToDate values(date_add(now(),interval 1 day));
Query OK, 1 row affected (0.17 sec)

mysql> insert into ConvertDatetimeToDate values(date_add(now(),interval -1 day));
Query OK, 1 row affected (0.15 sec)

mysql> insert into ConvertDatetimeToDate values(date_add(now(),interval 1 year));
Query OK, 1 row affected (0.10 sec)

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

위에 삽입된 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from ConvertDatetimeToDate;

다음은 출력입니다 -

+---------------------+
|       YourDatetime  |
+---------------------+
| 2018-11-28 16:12:50 |
| 2018-11-26 16:13:00 |
| 2019-11-27 16:13:13 |
| 2017-11-27 16:13:24 |
+---------------------+
4 rows in set (0.00 sec)

이제 위의 구문을 적용하여 datetime을 날짜로 캐스팅할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> select cast(YourDatetime as Date) as OnlyDateDemo from ConvertDatetimeToDate;

다음은 출력입니다 -

+--------------+
| OnlyDateDemo |
+--------------+
| 2018-11-28   |
| 2018-11-26   |
| 2019-11-27   |
| 2017-11-27   |
+--------------+
4 rows in set (0.00 sec)