&er den bitvise logiske og operator - Den udfører operationen på 2 heltalsværdier.
WHERE (sc.Attributes & 1) = 0
Ovenstående kode kontrollerer, om sc.Attributes er et lige tal. Hvilket er det samme som at sige, at den første bit ikke er indstillet.
Men på grund af navnet på kolonnen:"Attributter", så er "1"-værdien sandsynligvis bare et flag, der har en ekstern betydning.
Det er almindeligt at bruge 1 binært ciffer for hvert flag gemt i et tal for attributter. Så for at teste for den første bit bruger du sc.Attributes&1, for at teste for den anden bruger du sc.Attributes&2, for at teste for den tredje bruger du sc.Attributes&4, for at teste for den fjerde bruger du sc.Attributes&8, ...
=0 delen tester for at se, om den første bit IKKE er sat.
Nogle binære eksempler:(==for at vise resultatet af operationen)
//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