1. ホーム
  2. sql

T-SQLでビットフィールドを反転させる方法は?

2023-09-13 09:15:02

質問

SQL Server で、更新クエリを使用してビットフィールドを反転させようとしています。最もエレガントな解決策は何ですか?

T-SQL にはビット単位の NOT 演算子がないようで (私が明らかな何かを見逃していない限り)、更新を実行する他の方法を見つけることができませんでした。

どのように解決するのですか?

bitwise-not は必要ありません。1 / true と XOR してください。

確認するには

select idColumn, bitFieldY, bitFieldY ^ 1 as Toggled
from tableX

更新するために

update tableX
set bitFieldY = bitFieldY ^ 1
where ...

MSDN T-SQL Exclusive-OR (^)