mysql - 如何将字符串转换为位集?

标签 mysql sql database

是否有可能将像“1101”这样的字符串转换为 MySQL 中的 BIT(4) 等价物?我检查了 CONVERT/CAST 函数,但它们不允许这样做。

谢谢!

最佳答案

您可以使用 CONV()

CONV('1100', 2, 10) * 1

Bit-Field Literals

例如

CREATE TABLE Table1 (bit_value BIT(4));

INSERT INTO Table1 VALUES (CONV('1100', 2, 10) * 1);
INSERT INTO Table1 VALUES (b'1101');

SELECT bit_value, 
       BIN(bit_value) bin_representation
  FROM Table1

输出:

| BIT_VALUE | BIN_REPRESENTATION |
----------------------------------
|        12 |               1100 |
|        13 |               1101 |

这是 SQLFiddle 演示

关于mysql - 如何将字符串转换为位集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18052679/

相关文章:

mysql - 从子查询的三列中获取一列

sql - 基于 Geo 参数查询的最佳方法是什么

mysql - 在给定时间范围内按小时分组

mysql - Magento:在登台和生产之间同步数据库

php - 你如何使用mysql join来过滤掉整行?

mysql - magento 中的 mysql 语法错误

html - Ajax 从数据库更新内容并在单击按钮时显示

MySQL 与 Windows 上的 Haskell

php - 重新映射条令列以与 FOSUserBundle 匹配

php - 用数字表示文本 MySQL