La fonction JSON_EXTRACT extrait les données situées à un json_path spécifique au sein de données de type JSON.
Syntaxe
JSON JSON_EXTRACT(JSON <json_expr>, STRING <json_path>)
-- 标准示例。
-- 返回1。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');
Paramètres
json_expr : Obligatoire. Données de type JSON à traiter.
json_path : Obligatoire. Chemin JSON vers la valeur à renvoyer. Type STRING.
Valeur de retour
Renvoie une valeur de type JSON selon les règles suivantes :
Si le json_path est invalide, la fonction renvoie NULL.
Si le json_path est incorrect, la fonction renvoie une erreur.
Exemples
-
Exemple 1 : extraire la valeur associée à la clé
adepuis un objet JSON.SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');Résultat :
+-----+ | _c0 | +-----+ | 1 | +-----+ -
Exemple 2 : renvoyer NULL si le chemin JSON spécifié est invalide ou si la clé cible n'existe pas.
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.c');Résultat :
+-----+ | _c0 | +-----+ | NULL | +-----+ -
Exemple 3 : renvoyer un message d'erreur si le format du chemin JSON est incorrect.
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$a');Résultat :
Invalid argument - Param json path $invalid_json_path is invalid
Fonctions connexes
La fonction JSON_EXTRACT fait partie des fonctions JSON. Pour plus d'informations sur les autres fonctions de type JSON, consultez la rubrique Fonctions JSON.