简单的查询,可能不可能,但我知道那里有一些聪明的人:)
给定一个 bool 参数,我希望定义我的 where 子句来限制特定列的输出 - 或不执行任何操作。
因此,给定参数@bit = 1,结果将是:
其中列 = 1
给定参数@bit = 0,结果如下:
其中列 = 1 或 0
即没有效果/显示所有结果(列是位字段)
我不想要动态sql - 我可以解决在代码中修复这个问题,但我只是想知道是否有一些聪明的魔法可以使上面的内容变得整洁和简单。
有吗?我正在使用 SQL Server。
干杯:D
最佳答案
如果列只能是 0 或 1,则答案 column = 1 或 @bit = 0
有效。如果列可以是您想要的任何值:column = 1 或 @bit = 0和列 = 0
。
关于sql 查询 - true => true, false => true 或 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1050007/