&is de bitsgewijze logische en operator - Het voert de bewerking uit op 2 gehele waarden.
WHERE (sc.Attributes & 1) = 0
De bovenstaande code controleert of sc.Attributes een even getal is. Dat is hetzelfde als zeggen dat het eerste bit niet is ingesteld.
Vanwege de naam van de kolom:"Attributen", dan is de waarde "1" waarschijnlijk slechts een vlag met een externe betekenis.
Het is gebruikelijk om 1 binair cijfer te gebruiken voor elke vlag die is opgeslagen in een nummer voor attributen. Dus om te testen voor het eerste bit gebruik je sc.Attributes&1, om te testen voor het tweede gebruik je sc.Attributes&2, om te testen voor het derde gebruik je sc.Attributes&4, om te testen voor het vierde gebruik je sc.Attributes&8, ...
Het =0-gedeelte test om te zien of het eerste bit NIET is ingesteld.
Enkele binaire voorbeelden:(==om het resultaat van de bewerking te tonen)
//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