如何将字符串转换为bitset?

Jac*_*cuz 5 mysql sql database

是否有可能将像'1101'这样的字符串转换为MySQL中的BIT(4)等价物?我已经检查过CONVERT/CAST函数,但他们不允许这样做.

谢谢!

pet*_*erm 3

您可以使用CONV()

CONV('1100', 2, 10) * 1
Run Code Online (Sandbox Code Playgroud)

位域文字

例如

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
Run Code Online (Sandbox Code Playgroud)

输出:

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

这是SQLFiddle演示