Чтобы установить флаг, я пишу SET status=status|? как очистить флаг?Обычно я пишу SET status=status&(-1^?), но ^ незаконно в sqlite.Как убрать флаг или использовать эксклюзив или?
SET status=status|?
SET status=status&(-1^?)
Кажется, что нет оператора xor для sqlite. Вы можете смоделировать это, используя:
select (~(a&b))&(a|b)
Например, когда 1111 (15) маскируется с 0100 (4):
select (~(15&4))&(15|4)
ответ 1011 (11). Таким образом, вы можете очистить флаги.