SQL DATEADD/WHERE 语法
SQL DATEADD/WHERE syntax
我的 WHERE 语句抱怨时遇到了一些问题。我已经声明了一个名为@StartDate 的变量,其数据类型为 DATE,因为我不需要时间。我将根据过去 30、60、90 等天的订单数量多次更新临时 table,但在单独的语句中进行更新。
UPDATE #TempTable SET Q30Day = Count(*)
FROM #TempTable
SET @StartDate = DATEADD(DAY, -30, CAST(GETDATE() as DATE))
WHERE PaidTime >= @StartDate
WHERE 语句在抱怨,说“INCORRECT SYNTAX NEAR 'WHERE'”但我不确定为什么。
你只是把事情弄乱了,顺序错了:-
SET @StartDate = DATEADD(DAY, -30, CAST(GETDATE() as DATE))
UPDATE #TempTable SET Q30Day = Count(*)
FROM #TempTable
WHERE PaidTime >= @StartDate
我的 WHERE 语句抱怨时遇到了一些问题。我已经声明了一个名为@StartDate 的变量,其数据类型为 DATE,因为我不需要时间。我将根据过去 30、60、90 等天的订单数量多次更新临时 table,但在单独的语句中进行更新。
UPDATE #TempTable SET Q30Day = Count(*)
FROM #TempTable
SET @StartDate = DATEADD(DAY, -30, CAST(GETDATE() as DATE))
WHERE PaidTime >= @StartDate
WHERE 语句在抱怨,说“INCORRECT SYNTAX NEAR 'WHERE'”但我不确定为什么。
你只是把事情弄乱了,顺序错了:-
SET @StartDate = DATEADD(DAY, -30, CAST(GETDATE() as DATE))
UPDATE #TempTable SET Q30Day = Count(*)
FROM #TempTable
WHERE PaidTime >= @StartDate