Maison >base de données >tutoriel mysql >Comment puis-je rechercher des éléments dans les tableaux JSON dans MySQL ?

Comment puis-je rechercher des éléments dans les tableaux JSON dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-05 00:41:11754parcourir

How Can I Search for Elements Within JSON Arrays in MySQL?

Recherche de tableaux JSON dans MySQL : un guide complet

La recherche dans les tableaux JSON dans MySQL peut être réalisée à l'aide de la fonction JSON_CONTAINS. Cette fonction prend le tableau JSON, un élément du tableau et une expression de chemin comme paramètres et renvoie une valeur booléenne indiquant si l'élément est présent dans le tableau.

Recherche d'entiers dans les tableaux

Pour rechercher des entiers spécifiques dans un tableau d'entiers, utilisez la syntaxe suivante :

JSON_CONTAINS(data, 'element', '$')

Pour exemple :

  JSON_CONTAINS('[1,2,3,4,5]','7','$') Returns: 0
  JSON_CONTAINS('[1,2,3,4,5]','1','$') Returns: 1

Recherche de chaînes dans des tableaux

Semblable à la recherche d'entiers, pour rechercher des chaînes dans un tableau de chaînes, utilisez cette syntaxe :

JSON_CONTAINS(data, 'element', '$')

Par exemple :

  JSON_CONTAINS('["a","2","c","4","x"]','"x"','$') Returns: 1
  JSON_CONTAINS('["1","2","3","4","5"]','"7"','$') Returns: 0

Candidature la Connaissance

Pour répondre à la question d'origine, vous pouvez rechercher des éléments de tableau supérieurs à 2 avec la requête suivante :

SELECT * from my_table
WHERE JSON_CONTAINS(data, '2', '$');

Cette requête renverra toutes les lignes où la colonne de données contient un tableau avec un élément supérieur à 2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn