【发布时间】:2014-04-08 15:29:40
【问题描述】:
如果order_date 列超过一年,我正在尝试创建一个 PHP 查询来删除 SQL 表行。我还想要第二个查询,如果同一列是一天前,表行将被删除。
为了更深入地了解,order_date 列位于我当前的表 tracking_orders 中,并且是使用查询的一部分创建的:order_date datetime NOT NULL DEFAULT GETDATE(),。 tracking_orders 表目前如下所示:
order_date tracking_order account_id
Apr 7 2014 3:49PM 1 1
Apr 7 2014 3:51PM 2 1
我问这个问题的那天是 2014 年 4 月 8 日,所以如果order_date 数据是 2013 年 4 月 7 日,我尝试进行删除行的查询,如果
order_date 数据是 2014 年 4 月 7 日。另外,如果数据超过 1 年,我仍然希望将其删除。例如,2012 年 4 月 7 日。
对于一个代码示例,我正在寻找这样的东西:
$sql = 'DELETE * from tracking_orders WHERE order_date == DATE_SUB(getdate(), INTERVAL 1 YEAR)';
像这样,一天后删除:
$sql = 'DELETE * from tracking_orders WHERE order_date == DATE_SUB(getdate(), INTERVAL 1 DAY)';
注意:上述方法不起作用,因为DATE_SUB 是 MySQL 语法,而我正在使用 MSSQL。
感谢您的帮助。非常感谢所有帮助。
【问题讨论】:
-
我猜它会很相似,但使用
DATEADD方法,see this Microsoft Article -
那是我之前为你 +1 的。 :) 这是另一个。
标签: php sql sql-server days getdate