使用过去7天的日期向所有行添加7天

时间:2016-02-12 05:26:06

标签: sql oracle

我负责根据以下内容解决方案: 数据库服务器已被错误的日期和时间重置,没有人知道。更新过去一周的任何订单日期,增加7天。

Orderdate存储在ORDERS.ORDERDATE中。我尝试使用以下代码,但失败了:

UPDATE ORDERS 
SET  ORDERDATE,DATEADD(day,7,OrderDate)
WHERE DATEDIFF >= (
    DAY, 
    DATEDIFF(DAY, @ORDERDATE, -7), 
    GETDATE());

有人能为我提供正确的代码吗?

感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

您的语法似乎适用于SQL Server,但您标记了Oracle的问题。无论如何,Oracle中正确的UPDATE查询应该如下所示:

UPDATE ORDERS
    SET ORDERDATE = ORDERDATE + INTERVAL '7' DAY
    WHERE ORDERDATE > SYSDATE - INTERVAL '7' DAY

此处SYSDATE是表示当前日期和时间的DATE对象。

答案 1 :(得分:1)

您可以尝试使用

Update ORDERS
   SET ORDERDATE = ORDERDATE + 7
WHERE SYSDATE - ORDERDATE <= 7;