Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL TIMEDIFF(日期、日期时间)_Mysql_Date_Datetime - Fatal编程技术网

MySQL TIMEDIFF(日期、日期时间)

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

我在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版本),我可能误解了文档,但我们可以阅读

在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)