David Fowler is working with arcane magic:
The short answer to the question is to simply apply a bitwise NOT to the number that you want to convert and add 1 to the result. I wrote about bitwise logic in The Arcane Science of Bitwise Logic and SQL Server but didn’t mention the bitwise NOT.
If you want to apply a bitwise NOT to a value, simply use the ~
Give it a go, try converting 10 to a negative,
SELECT ~ 10 + 1The result, -10.
One of my rules of thumb (given how many I have, I need more thumbs) is that if you’re using bitwise logic in SQL Server, something has likely gone wrong somewhere along the way. But read David’s explanation, which is quite clear.
Comments closed