mysql - 从位字段中通过索引获取一位,mysql

标签 mysql bit bit-fields

有没有办法从 mysql 中的位字段中获取一位(或 bool 值)?

我想到的唯一解决方案是使用以下方法: 我想要第三位的位值。

SELECT bit_count(bin(column) & b'100') AS bitValue FROM table;

此查询的输出是 1 或 0。但它看起来不太好。 有没有更好的方法获取位域中特定位置的位值? 读取位值将在我的 Web 应用程序中大量完成,您认为获取我上面使用的值的方式会对性能造成问题吗?我的意思是同时使用 bit_count 和 BIN() 以及“和”运算符..

我正在寻找类似的东西:

SELECT column(3) FROM table;

感谢阅读!

马蒂亚斯。

最佳答案

如果您担心读取性能并且您感兴趣的位是固定的,请尝试提取该位并将其插入到 bool 列中。如果您尝试提取的位是动​​态的,我认为您的解决方案是最优的。

关于mysql - 从位字段中通过索引获取一位,mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391683/

相关文章:

mysql - SQL 查询从表中删除多个重复条目

c - AVR C 中的位和字节解释

c - 使用位域解析网络数据包

c++ - 为什么 union 的规模比预期的要大?

c - 具有带符号整数位字段的结构产生负输出

php - 在纯 PHP 中从 slug 博客标题创建 View

MySQL:规范化大子查询中的列

c# - HibernateException : Could not create the driver from NHibernate. 驱动程序.MySqlDataDriver

c - 意外的位移结果

c - 打印数字的二进制表示