簡體   English   中英

TSQL BIT = 0和<> 1

[英]TSQL BIT =0 and <>1

如果我寫有什么區別嗎

select * from table where bit_field = 0

要么

select * from table where bit_field <> 1

更新:我有一個報告,最好使用“ bit_field = 0”版本,因為如果您在某個字段上有一些索引,請使用第二個選項,那么“搜索謂詞”就會出現問題...它有兩個尋道謂詞之一為<1,另一種謂詞為> 1 ...或其他。 我沒有任何例子可以顯示。 :(從<>更改為=后,排他鎖(X)和意圖排他鎖(IX)有所減少嗎?

兩個查詢之間應該沒有差異。 如果不存在NULL值,那么顯然任何不為零的值也與不為1相同。 如果 NULL的現在,它不會改變任何東西,因為一個NULL的記錄也不會從任何查詢返回。

請參見下面的演示。

演示

應該沒有什么區別,因為一點只代表0和1的值。

兩者都將排除NULL值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM