如何在WHERE子句中使用参数 [英] How to use a parameter in the WHERE clause
本文介绍了如何在WHERE子句中使用参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在SQL中使用参数来返回值> 5当参数为是并且当参数为否时返回所有值
我不太清楚如何执行此操作。如果你知道怎么做,那么请解释它背后的逻辑。
对不起。我已更新它以显示代码。目前它给我一个错误的语法附近>
我尝试过:
DECLARE @ Param1 NTEXT
DECLARE @ Param2 DATETIME
DECLARE @ Param3 DATETIME
SELECT TABLE1.Field1
FROM TABLE1(NOLOCK)
WHERE
TABLE1.Field1 =(IIF(@ Param1 ='是') ,TABLE1.Field1> 3.9,TABLE1.Field1))
AND TABLE1.Field2 BETWEEN @Param2 AND @Param3
解决方案
简单:
...
WHERE
( @Param Null 或 @ Param != ' 是' 或 YourField> 5 )
...
I am trying to use a parameter in SQL to return values > 5 when the parameter is "Yes" and return all values when the parameter is "No" I don't have a good understanding of how to do this. If you know how to do this then please explain the logic behind it.
Sorry about that. I have updated it to show the code. At the moment it is giving me an error of Incorrect syntax near >
What I have tried:
DECLARE @Param1 NTEXT
DECLARE @Param2 DATETIME
DECLARE @Param3 DATETIME
SELECT TABLE1.Field1
FROM TABLE1(NOLOCK)
WHERE
TABLE1.Field1 = (IIF(@Param1 = 'Yes',TABLE1.Field1 > 3.9, TABLE1.Field1))
AND TABLE1.Field2 BETWEEN @Param2 AND @Param3
解决方案
Simple:
... WHERE (@Param Is Null Or @Param != 'Yes' Or YourField > 5) ...
这篇关于如何在WHERE子句中使用参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文