问题
Say you have two binary values
001011
001111
How can you get the number of different bits in MySQL? I tried
SELECT BIT_COUNT(BINARY 001011 ^ BINARY 001111)
This returns 6, while I need a solution that returns 1 in this example.
回答1:
SELECT BIT_COUNT( CONV( '001011', 2, 10 ) ^ CONV( '001111', 2, 10 ) )
回答2:
SELECT BIT_COUNT(b'001011' ^ b'001111');
回答3:
It's converting the numbers 1011 and 1111 (base 10) to binary and doing the comparison. If you did:
SELECT BIT_COUNT(11 ^ 15)
It'd work.
来源:https://stackoverflow.com/questions/7111728/comparing-binary-values-in-mysql