在SQL SERVER 2012中查找代码,以查找ORDERS表中所有ORDERDATE的下一次'WEDNESDAY'。我想出了以下内容,但它只给了Orderdate + 7天。请帮助我。
SELECT DATEADD(DD,7, CONVERT(Datetime, OrderDate, 101))
FROM Orders
答案 0 :(得分:1)
您可以使用:
SELECT CASE WHEN DATENAME(WEEKDAY,OrderDate) = 'Wednesday'
THEN DATEADD(DAY,7,OrderDate)
ELSE DATEADD(DAY,(18-(@@DATEFIRST+DATEPART(WEEKDAY,OrderDate)))%7,OrderDate)
END
FROM Orders