标签: bit-manipulation

MySQL / MariaDB 中的十六进制和二进制文字?

我的另一个问题仅与&字符串类型有关。这个问题是关于用B''或构造的二进制字符串文字X''

MariaDB 支持二进制和十六进制文字,

SELECT X'01', B'00000001', X'01' = B'00000001';
| X'01' | B'00000001' | X'01' = B'00000001' |
+-------+-------------+---------------------+
|    X  |       X     |                   1 |

* Using `X` because StackExchange strips the non-printable character.
Run Code Online (Sandbox Code Playgroud)

然而,有趣的是,当我通过二元运算符传递它们时,它们并不相同

SELECT X'01' & B'00000001', X'01' & X'01', B'00000001' & B'00000001';
| X'01' & B'00000001' | X'01' & X'01' | B'00000001' & B'00000001' |
+---------------------+---------------+---------------------------+
|                   0 |             0 |                         1 |
Run Code Online (Sandbox Code Playgroud)

所以,如果他们是位字符串处理它没有任何意义(因为其结果应该是1,如果他们作为字符串处理,因为实际的字符串,它是没有意义的 …

mysql mariadb mariadb-10.1 bit-manipulation

6
推荐指数
1
解决办法
2570
查看次数

标签 统计

bit-manipulation ×1

mariadb ×1

mariadb-10.1 ×1

mysql ×1