我负责根据以下内容解决方案: 数据库服务器已被错误的日期和时间重置,没有人知道。更新过去一周的任何订单日期,增加7天。
Orderdate存储在ORDERS.ORDERDATE中。我尝试使用以下代码,但失败了:
UPDATE ORDERS
SET ORDERDATE,DATEADD(day,7,OrderDate)
WHERE DATEDIFF >= (
DAY,
DATEDIFF(DAY, @ORDERDATE, -7),
GETDATE());
有人能为我提供正确的代码吗?
感谢任何帮助!
答案 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;