В TSql, как вы отключите определенный бит в битовой маске, не проверяя, установлен ли бит или нет?
Как отключить определенный бит в битовой маске?
Ответ 1
Нашел! Используйте и ~ как это...
UPDATE MyTable SET
MyBitmask = MyBitmask & ~128 -- 8th bit
WHERE MyID = 123
Оператор ~ переворачивает все биты (1s становится 0s и 0s становится 1s). Просто установите значение, которое вы переверните, на тот, который вы хотите отключить и использовать, и безопасно отключить только один конкретный бит, не проверяя, установлен ли бит.