指定された json_path に基づいて、JSON 値からデータを抽出します。
構文
JSON JSON_EXTRACT(JSON <json_expr>, STRING <json_path>)
-- 標準的な例
-- 1 が返されます。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');パラメーター
json_expr:必須。処理する JSON 値。
json_path:必須。返したい値へのパスを指定する STRING 値。
戻り値
JSON 値を返します。次のルールが適用されます:
json_path が無効な場合、関数は NULL を返します。
json_path の形式が正しくない場合、関数はエラーを返します。
例
例 1: JSON オブジェクトからキー `a` の値を抽出します。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');次の結果が返されます。
+-----+ | _c0 | +-----+ | 1 | +-----+例 2: 指定された JSON パスが無効であるか、宛先キーが存在しない場合、関数は NULL を返します。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.c');次の結果が返されます。
+-----+ | _c0 | +-----+ | NULL | +-----+例 3: JSON パスの形式が正しくない場合、関数はエラーメッセージを返します。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$a');次の結果が返されます。
Invalid argument - Param json path $invalid_json_path is invalid
関連関数
JSON_EXTRACT は JSON 関数です。他の JSON 関数の詳細については、「JSON 関数」をご参照ください。