Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak porównać (AND) dwa ciągi, które reprezentują maskę binarną w mysql?

Możesz użyć conv , np.

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

Ponowny komentarz, wydaje mi się, że działa:

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)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Typ danych MySQL INT(11) podczas gdy UNSIGNED INT(10)?

  2. Rodzic MySQL -> zapytanie podrzędne

  3. utwórz URL rest api, aby połączyć się z bazą danych mysql

  4. Wybierz z serii relacji wiele-do-wielu

  5. Perl DBI fetchall_hashref