Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para comparar (AND) duas strings que representam uma máscara binária no mysql?


Você pode usar conv , por exemplo.
select conv('1100', 2, 10) & conv('0110', 2, 10);

Re comente, parece funcionar para mim:
mysql> select conv('1001', 2, 10) & conv('0110', 2, 10) = 0;
+-----------------------------------------------+
| conv('1001', 2, 10) & conv('0110', 2, 10) = 0 |
+-----------------------------------------------+
|                                             1 |
+-----------------------------------------------+
1 row in set (0.00 sec)

mysql> select conv('1001', 2, 10) & conv('0111', 2, 10) = 0;
+-----------------------------------------------+
| conv('1001', 2, 10) & conv('0111', 2, 10) = 0 |
+-----------------------------------------------+
|                                             0 |
+-----------------------------------------------+
1 row in set (0.00 sec)