在TSql中,如何关闭位掩码中的特定位而不必检查该位是否设置?
答案 0 :(得分:36)
UPDATE MyTable SET
MyBitmask = MyBitmask & ~128 -- 8th bit
WHERE MyID = 123
〜运算符翻转所有位(1变为0,0变为1)。只需将您要翻转的值设置为要关闭的值,然后使用&安全地关闭一个特定的位而不必检查该位是否已设置。
答案 1 :(得分:1)
您还可以使用: MyBitmask&=〜128