Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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
TSQL位=0且<&燃气轮机;1._Sql_Sql Server_Tsql_Bit - Fatal编程技术网

TSQL位=0且<&燃气轮机;1.

TSQL位=0且<&燃气轮机;1.,sql,sql-server,tsql,bit,Sql,Sql Server,Tsql,Bit,如果我写信,有什么不同吗 select * from table where bit_field = 0 或 从位字段1所在的表中选择* ? 更新: 我有一份报告说,最好使用“bit_field=0”版本,因为如果在字段上有一些索引,那么使用第二个选项“Seek谓词”会有一些问题。。。它有两个seek谓词,一个小于1,另一个大于1。。。或者别的什么。 我没有任何例子可以说明( 从更改为=后,排他锁(X)和意图排他锁(IX)减少 有什么想法吗?应该没有区别,因为位只接受0和1的值 两者都将排除

如果我写信,有什么不同吗

select * from table where bit_field = 0

从位字段1所在的表中选择*
?

更新: 我有一份报告说,最好使用“bit_field=0”版本,因为如果在字段上有一些索引,那么使用第二个选项“Seek谓词”会有一些问题。。。它有两个seek谓词,一个小于1,另一个大于1。。。或者别的什么。 我没有任何例子可以说明( 从更改为=后,排他锁(X)和意图排他锁(IX)减少
有什么想法吗?

应该没有区别,因为位只接受0和1的值


两者都将排除
NULL
值。

这两个查询之间应该没有区别。如果不存在
NULL
值,那么显然任何值为零也就是不存在一个值。如果存在
NULL
值,它不会改变任何东西,因为
NULL
记录无法从两个查询返回数据

请参阅下面的演示


如果列的类型是位,那么就没有区别位可以是1、0或NULL&如果所有相等运算符都排除了NULL,那么就没有区别了。从逻辑上讲,这些都没有区别。实际上,第一个更清晰。如果一个有更好的性能,那么查询优化设计人员可能已经为您完成了这项工作所有的整型数据类型都可以接受1、0或NULL。@TaPaKaHUA
都将排除NULL值
“只接受0和1的值。”我想知道
是否与
相同,而不是(=)
,因为如果是,它应该导致。=>@a>值和@a<值索引只起到第一个不等式的作用
select * from table where bit_field <> 1