0

在 SQL SERVER 2012 中查找代码以找出 ORDERS 表中所有 ORDERDATE 的下一次出现“星期三”。我想出了以下内容,但它只给出了 Orderdate + 7 天。请帮助我。

SELECT DATEADD(DD,7, CONVERT(Datetime, OrderDate, 101))
FROM Orders
4

1 回答 1

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
于 2013-06-25T15:54:58.130 回答