La fonction JSON_CONTAINS vérifie si un objet JSON contient un élément JSON spécifié.
Syntaxe
BOOLEAN JSON_CONTAINS(JSON <json>, JSON <candidate> [, STRING <json_path>])
-- Standard example.
-- Returns true.
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');
Paramètres
json : Obligatoire. Les données JSON à vérifier. Le type de données est JSON.
candidate : Obligatoire. L'élément JSON recherché. Le type de données est JSON.
json_path : Facultatif. Le chemin JSON à vérifier. Le type de données est STRING. Si vous ne spécifiez pas ce paramètre, la fonction vérifie l'intégralité de l'objet JSON par défaut.
Valeur renvoyée
La fonction renvoie une valeur BOOLEAN selon les règles suivantes :
Si l'élément spécifié existe dans les données json, la fonction renvoie true. Sinon, elle renvoie false.
Si le paramètre json_path n'existe pas ou n'est pas valide, la fonction renvoie false.
Si les paramètres json ou candidate sont NULL, la fonction renvoie NULL.
Exemples
-- Returns true.
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');
-- Returns true.
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '1', '$.a');
-- Returns false.
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '2', '$.a');
-- Returns false. The json_path does not exist.
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', '$.b');
-- Returns false. The json_path is invalid.
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', 'b');
-- Returns NULL.
SELECT JSON_CONTAINS(JSON '{"a": 1}',NULL);
-- Returns NULL.
SELECT JSON_CONTAINS(NULL,JSON '1');
Fonctions associées
JSON_CONTAINS est une fonction JSON. Pour plus d'informations, consultez la rubrique Fonctions JSON.