0

我试图从这个查询中做的是我试图从 customertransaction 表中获取所有早于指定 Cutoffnumber 的行:

@Cutoffnumber INT

SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber '

但我收到以下错误,请注意这是一个动态 SQL 查询。

必须声明标量变量“@Cutoffnumber”

我该怎么走。

4

2 回答 2

1

查看sp_executesql

于 2012-03-13T04:11:48.703 回答
-1
Decalre @Cutoffnumber INT    
Set @Cutoffnumber = @someValue
SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) >' + @Cutoffnumber 

虽然看起来你可以在没有动态 SQL 的情况下做到这一点:

Declare @Cutoffnumber INT    
Set @Cutoffnumber = @someValue
SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber 
于 2012-03-13T04:18:07.820 回答