Сравнение двоичных значений в MySQL - PullRequest
4 голосов
/ 18 августа 2011

Скажем, у вас есть два двоичных значения

001011 
001111

Как вы можете получить количество разных бит в MySQL?Я попытался

SELECT BIT_COUNT(BINARY  001011 ^ BINARY 001111)

Это возвращает 6, в то время как мне нужно решение, которое возвращает 1 в этом примере.

Ответы [ 3 ]

3 голосов
/ 18 августа 2011
SELECT BIT_COUNT(b'001011' ^ b'001111');
3 голосов
/ 18 августа 2011
SELECT BIT_COUNT( CONV( '001011', 2, 10 ) ^ CONV( '001111', 2, 10 ) )
0 голосов
/ 18 августа 2011

Это преобразование чисел 1011 и 1111 (основание 10) в двоичное и сравнение.Если бы вы сделали:

SELECT BIT_COUNT(11 ^ 15)

Это бы сработало.

...