简单的查询,可能不可能,但我知道那里有一些聪明的人:)
给定一个 bool 参数,我希望定义我的 where 子句来限制某个列的输出 - 或者什么都不做。
因此,给定参数 @bit = 1 这将是结果:
其中列 = 1
给定参数@bit = 0 这将是结果:
其中列 = 1 或 0
即没有效果/显示所有结果(列是位字段)
我不想要动态 sql - 我可以解决在代码中解决这个问题,但我只是想知道是否有一些巧妙的魔法可以使上述内容简洁明了。
有没有?我正在使用 sql 服务器。
欢呼:D
最佳答案
如果列可能仅为 0 或 1,则答案 column = 1 or @bit = 0
有效。如果列可能是您想要的任何值: column = 1 or @bit = 0 and column = 0
。
关于sql 查询 - 真 => 真,假 => 真或假,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1050007/