Bit-flipping operations in T-SQL

bit-manipulation, sql-server, t-sql

Solution

Use XOR:

SELECT value ^ 256

So in your case, `SELECT 143 ^ 256` will indeed return 399. If you want to pass in the exponent as well:

SELECT value ^ POWER(2, power)

Problem

I have a bitmasked int field in my database. Usually I manage it through C# code, but now I need to flip a bit in the mask using T-SQL How do I accomplish the following: The bit I want to flip: 1 << 8 (256) The mask value before I flip: 143 The mask value after I flip: 399 This can be done without the bit operators that's missing in T-SQL, right?

Original source