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)