1

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

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

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

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

说到 MySQL,我是个大菜鸟,但我做了一些研究,发现了格式函数:FORMAT(Now(),'YYYY-MM-DD') 我觉得这可能是关键...有人可以指出正确的方向吗?谢谢!

4

3 回答 3

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

于 2013-02-12T21:05:26.357 回答
1
to_date = DATE_ADD(from_date, INTERVAL 28 DAY)
于 2013-02-12T21:05:07.110 回答
1

看看这个问题,它会做你想要的。

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 DAY) 作为明天;

于 2013-02-12T21:07:42.753 回答