sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo comparo (Y) dos cadenas que representan una máscara binaria en mysql?

Puedes usar conv , por ej.

select conv('1100', 2, 10) & conv('0110', 2, 10);

Re comentario, parece funcionar para mí:

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)