&je bitový logický operátor a - Provádí operaci na 2 celočíselných hodnotách.
WHERE (sc.Attributes & 1) = 0
Výše uvedený kód kontroluje, zda je sc.Attributes sudé číslo. Což je stejné, jako když řeknete, že první bit není nastaven.
Ale kvůli názvu sloupce:"Atributy", je hodnota "1" pravděpodobně jen nějaký příznak, který má nějaký vnější význam.
Je běžné používat 1 binární číslici pro každý příznak uložený v čísle pro atributy. Takže k testování prvního bitu použijete sc.Attributes&1, k testování druhého použijte sc.Attributes&2, k testování třetího použijte sc.Attributes&4, k testování čtvrtého použijte sc.Attributes&8, ...
Část =0 testuje, zda NENÍ nastaven první bit.
Některé binární příklady:(==pro zobrazení výsledku operace)
//Check if the first bit is set, same as sc.Attributes&1
11111111 & 00000001 == 1
11111110 & 00000001 == 0
00000001 & 00000001 == 1
//Check if the third bit is set, same as sc.Attributes&4
11111111 & 00000100 == 1
11111011 & 00000100 == 0
00000100 & 00000100 == 1