select (bin(~'101010101010101')) as Result;
Result is : '1111111111111111101001000010000111000000110011111000000101001010'
这是真的吗?
我希望看到这个结果:
'111111111111111111111111111111111111111111111111010101010101010'
请帮帮我。
select (bin(~'101010101010101')) as Result;
Result is : '1111111111111111101001000010000111000000110011111000000101001010'
这是真的吗?
我希望看到这个结果:
'111111111111111111111111111111111111111111111111010101010101010'
请帮帮我。
您正在将字符串传递给按位运算。这些操作是为 mysql 中的 BIGINT 整数定义的,因此您可能会得到意想不到的结果。
你应该试试:
SELECT bin(~0x5555) as Result
或者:
SELECT bin(~b'101010101010101' ) as Result
结果是:
'1111111111111111111111111111111111111111111111111010101010101010'
看起来 101010101010101 被解释为十进制数。它的二进制表示是 10110111101111000111111001100000111111010110101。补充这个,你得到打印结果。