mysql - 如何在 MySQL 语句中使用二进制/位域文字

标签 mysql bit-manipulation

select (bin(~'101010101010101')) as Result;

Result is : '1111111111111111101001000010000111000000110011111000000101001010'

这是真的吗?

我希望看到这个结果:

'1111111111111111111111111111111111111111111111111010101010101010'

请帮帮我。

最佳答案

您正在将字符串传递给按位运算。 These operations是为 MySQL 中的 BIGINT 整数定义的,因此您可能会得到意外的结果。

你应该尝试:

SELECT bin(~0x5555) as Result

或者:

SELECT bin(~b'101010101010101' ) as Result

结果:

'1111111111111111111111111111111111111111111111111010101010101010'

关于mysql - 如何在 MySQL 语句中使用二进制/位域文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373253/

相关文章:

C# - 如何安全地存储 MySQL 连接字符串以便没有人可以看到它?

java - 在 RESTful Web 服务中添加删除方法

mysql - SQL 从表中选择

python - Pandas 中返回数字而不是书籍的按位运算?

c - 按位运算给出不正确的结果

mysql - 如何使用 View 对 sql 中的 n_n 关系进行非规范化

php - 查询内部查询是否可以显示这样的类别?

c - 使用按位运算符进行快速字符串搜索

c# - 使用位运算符

c - 如何在 C 中将 32 位整数的位模式存储在 32 长度的 0 和 1 字符串中