MySQL CAST作为DATE?

date()在MySQL中,强制转换为日期和函数之间没有区别。

两者的语法cast()date()如下-

cast(yourDateTimeColumnName as Date)
date(yourDateTimeColumnName)

这两个函数都在内部调用Item_date_typecast。要检查这两个功能,让我们创建一个表。创建表的查询如下-

mysql> create table CastAsDateDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> ArrivalTime datetime,
   -> PRIMARY KEY(Id)
   -> );

现在,您可以使用insert命令在表中插入一些记录。查询如下-

mysql> insert into CastAsDateDemo(ArrivalTime) values('2014-1-13 13 −45 −46');

mysql> insert into CastAsDateDemo(ArrivalTime) values('2016-4-11 10 −30 −31');

mysql> insert into CastAsDateDemo(ArrivalTime) values('2019-1-9 19 −17 −49');

mysql> insert into CastAsDateDemo(ArrivalTime) values(date_add(now(),interval 2 day));

使用select语句显示表中的所有记录-

mysql> select *from CastAsDateDemo;

以下是输出-

+----+----------------------+
| Id | ArrivalTime          |
+----+----------------------+
| 1  |2014-01-13 13 −45 −46 |
| 2  |2016-04-11 10 −30 −31 |
| 3  |2019-01-09 19 −17 −49 |
| 4  |2019-01-11 19 −17 −59 |
+----+---------------------+
4 rows in set (0.00 sec)

这是使用cast()-强制转换为日期的查询

mysql> select cast(ArrivalTime as Date) as only_Date from CastAsDateDemo;

以下是输出-

+------------+
| only_Date  |
+------------+
| 2014-01-13 |
| 2016-04-11 |
| 2019-01-09 |
| 2019-01-11 |
+------------+
4 rows in set (0.00 sec)

这是使用强制转换为日期的查询date()。查询如下-

mysql> select date(ArrivalTime) as only_Date from CastAsDateDemo;

以下是输出-

+------------+
| only_Date  |
+------------+
| 2014-01-13 |
| 2016-04-11 |
| 2019-01-09 |
| 2019-01-11 |
+------------+
4 rows in set (0.00 sec)