我正在寻找一种在 Select 语句中设置变量的方法,以便以后可以在where
子句中使用它。
这是一个例子:
SELECT DateDiff(d,Time_Stamp,GetDate()) as Var1 FROM Report Where Var1 = 5
我注意到该ORDER BY Var1
子句可以正常工作,但是当我尝试在 where 语句中使用它时,它不能正常工作,它会在Var1
列上出现错误。
这也不起作用,因为它不返回任何行。
DECLARE @Var1 int
SELECT @Var1 = DateDiff(d,Time_Stamp,GetDate()) FROM Report Where @Var1 = 5
如果这对你有意义,你能告诉我在这种情况下你会做什么,这样你就不必编写这样的冗余代码......
SELECT DateDiff(d,Time_Stamp,GetDate()) FROM Report
Where DateDiff(d,Time_Stamp,GetDate()) = 5
?