SQL检查列值是否为true
我有四列A、B、C、D,它们都是bit类型 SQL中是否有方法检查所有四列值是否都是1SQL检查列值是否为true,sql,sql-server,Sql,Sql Server,我有四列A、B、C、D,它们都是bit类型 SQL中是否有方法检查所有四列值是否都是1 而不是单个记录的0?您可以使用位运算符,例如: select 1 & 0 & 1 & 0 产生0,您可以轻松测试它,假设您希望将空值视为0false。使用以下查询 Select A,B,C,D from #mytable t where t.A = 1 and t.B = 1 and t.C = 1 and t.D = 1
而不是单个记录的0?您可以使用位运算符,例如:
select 1 & 0 & 1 & 0
产生0,您可以轻松测试它,假设您希望将空值视为0false。使用以下查询
Select A,B,C,D
from #mytable t
where t.A = 1
and t.B = 1
and t.C = 1
and t.D = 1
是的,但是语法取决于您使用的DBMS。您在这里标记了2,SQL Server和MySQL。标记正确的DBMS,请仅标记正确的DBMS。当您更新您的问题时,不要忘记发布您已经尝试过的内容。标记您真正使用的唯一DBMS。您只需要在WHERE子句中为每列设置一个条件:其中a=1和B=1,C=1和D=1。MySQL是否有位数据类型?不知道。我有一个表,用于审批检查所有列必须有一个值1,如果一个值为0,数据将不会显示给客户,而是使用where子句。是否有更有效的方法将其放入where@USER301926,其中a&B&C&D=1