SQLite的,异或。如何清除一个标志?
^是SQLite中是非法的
1.似乎没有成为一个XOR运算的源码。你可以模拟
select (~(a&b))&(a|b)
例如,当1111(15)被屏蔽的0100(4):
select (~(15&4))&(15|4)
答案是1011(11)。通过这种方式,你可以清除标志。
update MAIN.[mail_index] set flags = (~(flags&0x00000002))&(flags|0x00000002) where rowid=1
Select rowid,* From MAIN.[mail_index] Limit 1000
update MAIN.[mail_index] set flags = 0x00000001 where rowid=1
update MAIN.[mail_index] set flags = flags | 0x00000002 where rowid=1
update MAIN.[mail_index] set flags = (~(flags&0x00000002))&(flags|0x00000002) where rowid=1