Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/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查询以计算两天之间的差值,并将该值插入同一表的列中_Mysql_Datediff - Fatal编程技术网

MySQL查询以计算两天之间的差值,并将该值插入同一表的列中

MySQL查询以计算两天之间的差值,并将该值插入同一表的列中,mysql,datediff,Mysql,Datediff,我认为开始日期为“2014年7月11日凌晨2:00”(解释如下)。我在同一个表中还有另一列,其中的值以“YYYY:DD:MM Min:Sec”格式存储。我想从开始日期中减去这个表中的每个条目,并将其插入到名为“Day”的新列中。以下是我正在尝试执行的查询: set @start = '2014-07-11 02:00:00'; use rawlog; insert into api_raw(`day`) VALUES (date_diff(DAY, start, #column_name)

我认为开始日期为“2014年7月11日凌晨2:00”(解释如下)。我在同一个表中还有另一列,其中的值以“YYYY:DD:MM Min:Sec”格式存储。我想从开始日期中减去这个表中的每个条目,并将其插入到名为“Day”的新列中。以下是我正在尝试执行的查询:

set @start = '2014-07-11 02:00:00';

use rawlog;
insert into  api_raw(`day`)
VALUES
(date_diff(DAY, start, #column_name)
我不明白我所犯的错误。这一次我错在哪里?任何帮助都将不胜感激。谢谢。

使用

DATEDIFF (DATE(@start),DATE(#column_name))
而不是

date_diff(DAY, start, #column_name)

mysql中没有名为
date\u diff
的函数,我想您看到的
timestampdiff
timestampdiff也不起作用。请注意,start已定义,不是列名。不过谢谢你的建议。所以你不储存时间?我想我有些地方弄错了。错误显示“错误代码:1054。字段列表中的未知列‘开始’”。此外,我忘了提及。。第二个参数不是coulmn_name,而是start(YYYY:DD:MM:SS)@DotNetNewBie格式的日期时间值。我不明白函数datediff中两个参数的值的格式是“2014-07-11 02:00:0”。在这种情况下,我还必须使用Date()吗?使用@start,它会起作用,我使用Date()函数仅从DATETIME中删除时间。所以别担心。