我想从这个查询中尝试做什么,我正在尝试获取从upperseTransaction表中的指定截止的所有行:

@Cutoffnumber INT

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

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

必须声明scalar变量“@cutoffnumber”

我该怎么走。

有帮助吗?

解决方案

其他提示

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 
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top