Bitwise Operators

Bitwise operators perform mathematical operations between integer values as translated to binary expressions within Transact-SQL statements. All the bitwise operators translate the integer parameters into binary representation before evaluating them.

These are the bitwise operators:

Symbol Meaning Can be used on
& Bitwise AND (two operands) int, smallint, or tinyint columns only
| Bitwise OR (two operands) int, smallint, or tinyint columns only
^ Bitwise exclusive OR (two operands) int, smallint, or tinyint columns only
~ Bitwise NOT (one operand) int, smallint, tinyint, or bit columns only

The bitwise operators that require two operands (&, |, and ^) can be used on columns with these datatypes:

Left
operand

Right operand
int int, smallint, tinyint, binary, or varbinary
smallint int, smallint, tinyint, binary, or varbinary
tinyint int, smallint, tinyint, binary, or varbinary
varbinary int, smallint, or tinyint
bit int, smallint, tinyint, or bit
float (and real) none
binary int, smallint, or tinyint