MySQL查询帮助 - DATEDIFF并将结果写入新列

时间:2014-10-10 18:54:41

标签: php mysql sql

好的,所以我有一个令人讨厌的问题需要在这里解决,我很难过。

我有一个基本上具有这种结构的MySQL表

id  transdate  startdate   enddate      unit1  unit1price   unit2   unit2price

1   2014-07-31   2014-10-25  2014-10-29   22     25.00        27      25.00

我需要做的是创建另一列为totaldays的列,用于计算startdate和enddate之间的天数。

我该怎么做?

非常感谢

2 个答案:

答案 0 :(得分:0)

您可以尝试以下方式:

SELECT datediff(enddate, startdate)...

此处有更多信息:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff

答案 1 :(得分:0)

- 创建列

alter table YourTableName
add column daysdiff int;

- 使用适当的计算更新新列

update YourTableName
set daysdiff = datediff(enddate, startdate);