JSON_EXTRACT_PATH_TEXT (Lakehouse v1)
path_name を指定して、JSON文字列から値を抽出します。
値は String として返されます。いずれかの引数が NULL の場合は NULL を返します。
この関数は to_varchar(GET_PATH(PARSE_JSON(JSON), PATH_NAME)) と同等です。
Analyze構文
Section titled “Analyze構文”func.json_extract_path_text(<expr>, <path_name>)Analyzeの例
Section titled “Analyzeの例”func.json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2.k4')┌──────────────────────────────────────────────────────────────────────────────┐│ func.json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2.k4') │├──────────────────────────────────────────────────────────────────────────────┤│ 4 │└──────────────────────────────────────────────────────────────────────────────┘JSON_EXTRACT_PATH_TEXT( <expr>, <path_name> )| 引数 | 説明 |
|---|---|
<expr> |
JSON文字列値 |
<path_name> |
フィールド名を連結した文字列値 |
文字列
SELECT json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k1[0]');┌─────────────────────────────────────────────────────────────────────────┐│ json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k1[0]') │├─────────────────────────────────────────────────────────────────────────┤│ 0 │└─────────────────────────────────────────────────────────────────────────┘
SELECT json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2:k3');┌─────────────────────────────────────────────────────────────────────────┐│ json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2:k3') │├─────────────────────────────────────────────────────────────────────────┤│ 3 │└─────────────────────────────────────────────────────────────────────────┘
SELECT json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2.k4');┌─────────────────────────────────────────────────────────────────────────┐│ json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2.k4') │├─────────────────────────────────────────────────────────────────────────┤│ 4 │└─────────────────────────────────────────────────────────────────────────┘
SELECT json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2.k5');┌─────────────────────────────────────────────────────────────────────────┐│ json_extract_path_text('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}', 'k2.k5') │├─────────────────────────────────────────────────────────────────────────┤│ NULL │└─────────────────────────────────────────────────────────────────────────┘