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

Mysql заявка WHERE колона е в json масив

Мисля, че можете да постигнете това само в Mysql 5.7.

Във версия 5.7 можете да направите нещо като:

SELECT JSON_EXTRACT(json_field, '$.name');

и ще извлече само ключа за име от json обект.

Търсене във всички елементи с етикета „JavaScript“:

SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');

Намерете всички елементи с тагове, започващи с „Java“:

SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;

използвайте 'one', за да намерите първото съвпадение или 'all', за да намерите всички съвпадения

Можете да извлечете псевдонима в Twitter, като използвате JSON път:

SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;

Можете също да посочите JSON път в клаузата WHERE, за да върнете само потребители с акаунт в Twitter:

SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;

Можете да правите повече неща като:

  • Създаване на JSON стойности

  • Нормализиране, обединяване и автоматично опаковане на JSON стойности

  • Търсене и промяна на JSON стойности

  • Сравнение и подреждане на JSON стойности

  • Обединяване на JSON стойности

за повече информация, моля, вижте:https://dev.mysql. com/doc/refman/5.7/en/json.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. PDO грешка:SQLSTATE[HY000]:Обща грешка:2031

  2. Не може да се разреши името на таблицата близо до

  3. mysql while цикъл Прекъсване еквивалент

  4. Подреждане на резултата от заявка по поле от различна таблица (MySQL)

  5. Свържете се с отдалечен MySQL db от докер контейнер