如何在MySQL中更新到期日期?

时间:2013-02-12 21:03:34

标签: mysql magento sql-update magento-1.7 coupon

因此,我需要在数据库中重置一堆优惠券代码的到期日期。我们的到期日期为字段“to_date”,显示如下:to_date ='2013-04-14'

我需要在from_date之后的28天将to_date设置为。所以基本上是这样的:

UPDATE salesrule
SET name = 'New coupon code', to_date = 'from_date + 28 days'

我知道这适用于一个简单的int值,但我不知道如何做到这一点,将数据显示为实际日期。我无法控制日期本身的显示方式,这是内置的Magento功能。

对于MySQL来说,我是一个很棒的菜鸟,但是我做了一些研究,我发现了格式函数:FORMAT(Now(),'YYYY-MM-DD')我有一种感觉可能是关键...有人能指出我正确的方向格式或正确编写此命令吗?谢谢!

3 个答案:

答案 0 :(得分:3)

UPDATE salesrule
SET name = 'New coupon code', to_date = DATE_ADD(from_date, INTERVAL 28 DAY);

此处有关DATE_ADD()功能的更多信息:

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add

答案 1 :(得分:1)

to_date = DATE_ADD(from_date, INTERVAL 28 DAY)

答案 2 :(得分:1)

检查this问题,它可以满足您的需求。

You can use the DATE_ADD() function:

... WHERE DATE(DATE_ADD(eventdate, INTERVAL -1 DAY)) = CURRENT_DATE
It can also be used in the SELECT statement:
  

明天选择DATE_ADD('2010-05-11',INTERVAL 1天);