我只想从一系列布尔变量中创建一个位标志,这样我就可以将一个变量存储在 MySQL 数据库中,而不是几个布尔值。例如,我有三个布尔标志(A、B、C)并希望根据布尔标志的值创建一个位标志。我认为这会起作用,但我猜有更好(或更清晰)的方法来做到这一点:
int myBitFlag = A ? 1:0;
myBitFlag += B ? 2:0;
myBitFlag += C ? 4:0;
我不知道为什么我找不到任何关于这个的东西,也许是因为我做错了或者没有使用正确的术语..
并且要选择 B=true 的所有条目,我会使用它吗?
SELECT * FROM table WHERE myBitFlag & 2 = 1