SQLite, Эксклюзив Или. Как убрать флаг? - PullRequest
5 голосов
/ 19 февраля 2010

Чтобы установить флаг, я пишу SET status=status|? как очистить флаг?Обычно я пишу SET status=status&(-1^?), но ^ незаконно в sqlite.Как убрать флаг или использовать эксклюзив или?

1 Ответ

7 голосов
/ 19 февраля 2010

Кажется, что нет оператора xor для sqlite. Вы можете смоделировать это, используя:

select (~(a&b))&(a|b)

Например, когда 1111 (15) маскируется с 0100 (4):

select (~(15&4))&(15|4)

ответ 1011 (11). Таким образом, вы можете очистить флаги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...