我需要在类似于
的where子句中执行条件语句WHERE
IF(@Param = 0) THEN
Column1 != 7
我试图允许用户根据@Param的值排除一组记录。
答案 0 :(得分:7)
您可以将这些组合成一个条件:
WHERE
(@Param != 0 OR Column1 != 7)
对于更复杂的条件,您可能还依赖于CASE表达式(但注意这些是表达式,并且必须返回一个值,此处为1
或(默认情况下){{1 }}):
NULL
答案 1 :(得分:4)
尝试
Where (@Param = 0 And Column1 != 7)
如果经常这样做......
Where (@Param1 Is Null Or (Column1 = @Param1))
And (@Param2 Is Null Or (Column2 = @Param2))
这里有一篇关于where子句的好文章...... http://weblogs.sqlteam.com/jeffs/archive/2003/11/14/513.aspx
答案 2 :(得分:0)
WHERE (@Param = 0 AND Column1 != 7) AND ...