Mysql程序更新所有记录的两个日期之间的差异

时间:2014-03-23 01:03:05

标签: mysql stored-procedures

我有一张包含两个日期及其差异的表格

TABLE
Posting date     Expiry Date       Days Left
30-Mar-2014      30-April-2013      31
30-Mar-2014      30-April-2013      31
31-Mar-2014      30-April-2013      30

如何创建一个程序来更新,计算 Days Left 从当前日期(不是发布日期,但系统日期)到每条记录的到期日期。

我怀疑是否应该将 Days Days 存储在数据库中,目前它便于用户根据剩余的天数对记录进行排序。

2 个答案:

答案 0 :(得分:1)

你应该可以使用类似的东西:

update tableName set DaysLeft = DATEDIFF(ExpiryDate, NOW())

你可以把它放在存储过程中,但它只是一行。

答案 1 :(得分:1)

如果我正确理解了这个问题,你需要以下内容:

SELECT datediff(ExpiryDate,NOW()) AS E FROM MyTable ORDER BY E DESC