JSON 文字列から指定されたパスの式を抽出します。
制限事項
この関数は、Ververica Runtime (VVR) 3.0.0 以降を使用する Realtime Compute for Apache Flink でのみサポートされています。
構文
VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path)入力パラメーター
パラメーター | データ型 | 説明 |
content | VARCHAR | 解析する JSON オブジェクト。 説明 このパラメーターは VARCHAR データ型である必要があります。パラメーターが VARCHAR でない場合は、CAST 関数を使用して変換してください。そうしないと、解析エラーが発生し、関数が予期しない NULL 値を返す可能性があります。 |
path | VARCHAR | 指定されたパスの式。カスタムパスでは、単一引用符 (') を使用する必要があります。例: パスでは、次の記号がサポートされています。
|
入力パラメーターに無効な JSON または NULL 値が含まれている場合、NULL が返されます。
例
テストデータ
表 1 T1
id(INT)
json(VARCHAR)
path1(VARCHAR)
1
[10, 20, [30, 40]]
$[2][*]
2
{"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}
$.ccc.hhh[*]
3
{"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}
$.ccc.hhh[1]
4
[10, 20, [30, 40]]
NULL
5
NULL
$[2][*]
6
"{xx]"
"$[2][*]"
テストステートメント
SELECT id, JSON_VALUE(json, path1) AS `value` FROM T1;テスト結果
id (INT)
value (VARCHAR)
1
[30,40]
2
["h0","h1","h2"]
3
h1
4
NULL
5
NULL
6
NULL
参照
フルマネージド Flink でサポートされている組み込み関数の詳細については、「サポートされている関数」をご参照ください。