It performs a bitwise logical AND operation between two integer values.

The & bitwise operator performs a bitwise logical AND between the two expressions, taking each corresponding bit for both expressions.

**SQL Server will internally convert the parameters into Bits ( binary format and then apply the operation ), Example Below**

**SELECT 7 & 2**

0000 0000 0000 0111 -- 7

0000 0000 0000 0010 -- 2

-------------------

0000 0000 0000 0010 -- Only the 2 bit is common in both 7 and 2

For each single digit if the value is 1 then we get 1 else 0

0000 0000 0000 0111

0000 0000 0000 0010

for 2nd position from right we have 1 & 1 , so if value are 1 & 1 then we get 1.

For other 1 & 0 , 0 & 0 , 0 & 1 --- we will get 0.

**Below is how the binary equivalent is calculated.**

For 7 -- its internal binary representation is 0000 0000 0000 0111. Divide the number by 2 take reminder until your get 0.

7 / 2 ---- 1

3 / 2 ------- 1

1/ 2 ------- 1

All remaining will be zero since we have to make it 16 digits. <<16 digits Binary System>>

So 0000 0000 0000 0111

Source -

http://www.wikihow.com/Con

Hope it helps

!!