Ответ 1
Использовать XOR:
SELECT value ^ 256
Итак, в вашем случае SELECT 143 ^ 256
действительно вернет 399. Если вы хотите также передать экспоненту:
SELECT value ^ POWER(2, power)
У меня есть битмаскированное поле int в моей базе данных. Обычно я управляю им с помощью кода С#, но теперь мне нужно перевернуть бит в маске с помощью T-SQL
Как выполнить следующее:
Бит, который я хочу перевернуть: 1 < 8 (256)
Значение маски перед переходом: 143
Значение маски после перевертывания: 399
Это можно сделать без битовых операторов, которые отсутствуют в T-SQL, правильно?
Использовать XOR:
SELECT value ^ 256
Итак, в вашем случае SELECT 143 ^ 256
действительно вернет 399. Если вы хотите также передать экспоненту:
SELECT value ^ POWER(2, power)
TSql Побитовые операторы можно найти здесь, и хорошая статья о том, как их использовать, здесь