如何在WHERE子句中使用参数 [英] How to use a parameter in the WHERE clause

查看:512
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆