Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL检查列值是否为true_Sql_Sql Server - Fatal编程技术网

SQL检查列值是否为true

SQL检查列值是否为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

我有四列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

是的,但是语法取决于您使用的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