Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL изберете къде има стойност на свойството на полето JSON

Някои примери за това как да направите заявка за поле за тип данни 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;

С mysql 5.7.9+

Можете също така просто да направите това (пряк път за JSON_EXTRACT):

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

Може да забележите, че резултатите от вашите json данни са "цитирани". Можете да използвате JSON_UNQUOTE или можете да използвате това, което е пряк път към JSON_EXTRACT &JSON_UNQUOTE:

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

И за да изберете данни от подобектите:

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

документи: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. Динамично преобразуване на низ в име на колона. MySQL

  2. ПРИСЪЕДИНЕТЕ СЕ с GROUP BY в нормализирана БД за ресурси, теми и глави

  3. Съхранение на IPv6 адреси в MySQL

  4. Как да обедините няколко реда в MySQL?

  5. Как да прехвърля char към цяло число, докато отправям заявка в django ORM?