SQL DATEADD / WHERE语法

时间:2015-11-16 21:34:02

标签: sql sql-server tsql temp-tables

我的WHERE声明抱怨有问题。我已经声明了一个名为@StartDate的变量,其数据类型为DATE,因为我不想要时间。我将根据过去30,60,90等天的订单数量多次更新临时表,但是在单独的语句中进行。

    UPDATE #TempTable SET Q30Day = Count(*)  
    FROM #TempTable
    SET @StartDate = DATEADD(DAY, -30, CAST(GETDATE() as DATE))
    WHERE PaidTime >= @StartDate

WHERE声明正在抱怨,说“不正确的语法附近”,但我不确定原因。

1 个答案:

答案 0 :(得分:0)

你的事情变得混乱,错误的顺序: -

SET @StartDate = DATEADD(DAY, -30, CAST(GETDATE() as DATE))    
UPDATE #TempTable SET Q30Day = Count(*)  
FROM #TempTable
WHERE PaidTime >= @StartDate