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

MySQL wybierz, gdzie właściwość pola JSON ma wartość

Kilka przykładów zapytań o pole typu danych json:

SELECT * FROM users WHERE JSON_EXTRACT(meta_data, "$.first_name") = 'bob';

SELECT * FROM users WHERE JSON_EXTRACT(meta_data, "$.age") IS NOT NULL;

SELECT * FROM users WHERE JSON_EXTRACT(meta_data, "$.accepted_policy") = true;

Z mysql 5.7.9 +

Możesz też po prostu to zrobić (skrót do JSON_EXTRACT):

SELECT * FROM users WHERE meta_data->"$.first_name" = 'bob'

Możesz zauważyć, że wyniki Twoich danych json są „cytowane”. Możesz użyć JSON_UNQUOTE lub możesz użyć tego, który jest skrótem JSON_EXTRACT i JSON_UNQUOTE:

SELECT meta_data->>"$.first_name" FROM users WHERE meta_data->>"$.first_name" IS NOT NULL

Aby wybrać dane z podobiektów:

SELECT meta_data->>"$.address.tel" FROM users WHERE meta_data->>"$.address.street" = "123 Main St"

dokumenty:https://dev.mysql.com /doc/refman/5.7/en/json-search-functions.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python:MySQLdb i biblioteka nie zostały załadowane:libmysqlclient.16.dylib

  2. jak sprawdzić, czy łączenie połączeń HikariCP działa w Javie?

  3. Połączenie wewnętrzne laravel 5.2

  4. Obrazy w MySQL

  5. INNER lub LEFT łączenie wielu rekordów tabeli w jeden wiersz