如何更新时间戳

时间:2019-03-17 17:52:35

标签: mysql sql database

我现在在使用dateadd()函数时遇到麻烦。基本上我想将1天添加到cexpireday(timestamp),如果它是当前日期之后至少10天。

我尝试了两种方法,但都没有作用

update card

set cexpireday = dateadd(day,1,cexpireday)

where cexpireday - current_timestamp() >= '0000-00-10 00:00:00'

update card

set cexpireday = date_add(cexpireday,INTERVAL 10 day )

where datediff(day,cexpireday,current_timestamp) >= 10

第一个出现“ dateadd不存在”,第二个出现“参数不正确以导航函数datediff()”的情况。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

也许尝试一下:

UPDATE card
SET cexpireday = DATE_ADD(cexpireday, INTERVAL 1 DAY)
WHERE cexpireday > DATE_ADD(NOW(), INTERVAL 10 DAY)   

答案 1 :(得分:0)

您需要使用DATE_ADD而不是dateadd。 您还需要查看文档。 这是示例如何使用它DATE_ADD(日期,INTERVAL 10 DAY)。 此外,DATEDIFF期望有2个参数start_date和end_date并返回2个日期之间的天数。