Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment comparer (ET) deux chaînes qui représentent un masque binaire dans mysql ?

Vous pouvez utiliser conv , par exemple.

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

Re commentaire, cela semble fonctionner pour moi :

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)