sql 查询 - true => true, false => true 或 false

标签 sql sql-server tsql boolean-logic bit

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

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

相关文章:

sql-server - 调用exec(@Sql)后如何获取标识值

sql-server - 为什么使用声明变量作为参数的 UDF 调用比使用硬编码参数调用快得多

SQL 查询 : how to select records, 但如果存在父记录,请选择它的最新子记录

mysql - SQL JOIN 查询 - 链接四个表

mysql - 构建 SQL 连接以补充数据。需要 T-SQL 帮助

sql-server - SQL Server : deleting FIELSTREAM files and num_unprocessed_items

sql-server - 使用 FreeTDS 的 Fatfree 数据库连接

SQL:递归选择所有子记录的SUM

asp.net - C# 数据库访问、Dapper、SQL 和 POCO - 编程设计

.net - 带有标识增量字段的 Linq to sql 错误