简单的查询,可能不可能,但我知道那里有一些聪明的人:)

给定一个 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/

10-13 02:16