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/