有没有办法从mysql的位字段中获取一位(或bool)?
我想出的唯一解决方案是使用以下内容: 我想要位置三的位值。
SELECT bit_count(bin(column) & b'100') AS bitValue FROM table;
此查询的输出为1或0。但它看起来并不那么好。 有没有更好的方法来获取位域中特定位置的位值? 读取位值将在我的Web应用程序中大量完成,您是否认为获取上面使用的值的方式会对性能产生影响?我的意思是同时使用bit_count和BIN()以及“和”运算符..
我正在寻找类似的东西:
SELECT column(3) FROM table;
感谢阅读!
的Mattias。
答案 0 :(得分:2)
如果您担心读取性能并且您感兴趣的位已修复,请尝试提取该位并将其插入布尔列。如果您要提取的位是动态的,我认为您的解决方案是最佳的。