La fonction JSON_CONTAINS détermine si une donnée JSON contient un élément JSON spécifique.
Syntaxe
BOOLEAN JSON_CONTAINS(JSON <json>, JSON <candidate> [, STRING <json_path>])
-- 标准示例。
-- 返回true。
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');
Paramètres
json : obligatoire. Donnée JSON à vérifier. Type JSON.
candidate : obligatoire. Élément JSON à rechercher. Type JSON.
json_path : facultatif. Chemin JSON spécifiant la zone à vérifier. Type STRING. Si ce paramètre est omis, la vérification porte sur l'intégralité de la donnée JSON.
Valeur renvoyée
La fonction renvoie une valeur de type BOOLEAN selon les règles suivantes :
Si l'élément spécifié est présent dans la donnée json , la fonction renvoie true ; sinon, elle renvoie false.
Si le paramètre json_path est introuvable ou invalide, la fonction renvoie false.
Si les paramètres json ou candidate ont la valeur NULL, la fonction renvoie NULL.
Exemples d'utilisation
-- 返回true。
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');
-- 返回true。
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '1', '$.a');
-- 返回false。
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '2', '$.a');
-- 返回false。json_path不存在。
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', '$.b');
-- 返回false。json_path不合法。
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', 'b');
-- 返回NULL。
SELECT JSON_CONTAINS(JSON '{"a": 1}',NULL);
-- 返回NULL。
SELECT JSON_CONTAINS(NULL,JSON '1');
Fonctions associées
La fonction JSON_CONTAINS fait partie des fonctions JSON. Pour plus d'informations sur les autres fonctions de type JSON, consultez la rubrique Fonctions JSON.