【问题标题】:How can I UPDATE an expiration date in MySQL?如何在 MySQL 中更新过期日期?
【发布时间】:2013-01-28 07:18:16
【问题描述】:

所以,我需要在我们的数据库中重置一堆优惠券代码的到期日期。我们的到期日期是字段“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') 我有这样的感觉可能是关键......有人能指出我正确的方向吗?它的格式或正确编写这个命令?谢谢!

【问题讨论】:

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


    【解决方案1】:
    to_date = DATE_ADD(from_date, INTERVAL 28 DAY)
    

    【讨论】:

      【解决方案2】:
      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

      【讨论】:

        【解决方案3】:

        检查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:
        

        SELECT DATE_ADD('2010-05-11', INTERVAL 1 DAY) AS 明天;

        【讨论】:

          猜你喜欢
          • 2023-03-24
          • 2019-02-21
          • 2011-08-10
          • 1970-01-01
          • 2017-01-29
          • 1970-01-01
          • 2016-05-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多