MySQL TIMEDIFF(日期、日期时间)
我在MySQL数据库中有两列 一个是日期格式,如2014-01-26,另一个是日期时间格式:2014-01-25 17:19:07 我需要应用TIMEDIFF(2014-01-262014-01-2517:19:07)函数,但它要求两个变量都是DATETIME格式。如何将2014-01-26转换为2014-01-26 00:00:00?您可以使用MySQL TIMEDIFF(日期、日期时间),mysql,date,datetime,Mysql,Date,Datetime,我在MySQL数据库中有两列 一个是日期格式,如2014-01-26,另一个是日期时间格式:2014-01-25 17:19:07 我需要应用TIMEDIFF(2014-01-262014-01-2517:19:07)函数,但它要求两个变量都是DATETIME格式。如何将2014-01-26转换为2014-01-26 00:00:00?您可以使用 您始终可以将日期强制转换为日期时间 选择timediff(cast(as Datetime)) 但我甚至不确定你是否需要强制转换(取决于你的mysql
您始终可以将日期强制转换为日期时间
选择timediff(cast(as Datetime))
但我甚至不确定你是否需要强制转换(取决于你的mysql版本),我可能误解了文档,但我们可以阅读
在MySQL 5.1.18之前,当日期值与日期时间进行比较时
值,则忽略DATETIME值的时间部分,或
比较可以作为字符串比较执行。从MySQL开始
5.1.18,通过将时间部分添加为“00:00:00”,将日期值强制为DATETIME类型。要模仿旧的行为,请使用CAST()
函数使比较操作数与前面一样处理。
例如:
mysql> select
TIMEDIFF(date_format('2014-01-26','%Y-%m-%d %H:%i:%s'), '2014-01-25 17:19:07')
as diff;
+----------+
| diff |
+----------+
| 06:40:53 |
+----------+
1 row in set (0.00 sec)
mysql> select date_format('2014-01-26','%Y-%m-%d %H:%i:%s') as date;
+---------------------+
| date |
+---------------------+
| 2014-01-26 00:00:00 |
+---------------------+
1 row in set (0.00 sec)