JSON
DuckDB
JSON_EXTRACT_PATH_TEXT
Seperti JSON_EXTRACT_PATH tapi mengembalikan hasil sebagai VARCHAR, bukan JSON.
Tipe hasil:
VARCHARDiperbarui: 6 Jan 2026Syntax
SQL
JSON_EXTRACT_PATH_TEXT(json, path1, path2, ...)Parameter
jsonJSON/VARCHARwajib
JSON object sumber
path1, path2, ...VARCHARwajib
Sequence of keys untuk navigate ke nilai
Contoh Penggunaan
Extract sebagai Text
SQL
1 SELECT 2 JSON_EXTRACT_PATH('{"name": "Budi"}', 'name') as json_result, 3 JSON_EXTRACT_PATH_TEXT('{"name": "Budi"}', 'name') as text_result;
Perbedaan hasil JSON vs TEXT.
Hasil
| json_result | text_result |
|---|---|
| "Budi" | Budi |
Langsung Gunakan untuk String Ops
SQL
1 SELECT 2 id, 3 UPPER(JSON_EXTRACT_PATH_TEXT(data, 'user', 'name')) as name_upper, 4 JSON_EXTRACT_PATH_TEXT(data, 'user', 'email') as email 5 FROM users_json;
Hasil bisa langsung dipakai untuk string functions.
Hasil
| id | name_upper | |
|---|---|---|
| 1 | BUDI | budi@email.com |
| 2 | ANI | ani@email.com |
Filter Berdasarkan JSON Value
SQL
1 SELECT * 2 FROM products_json 3 WHERE JSON_EXTRACT_PATH_TEXT(metadata, 'category') = 'Electronics' 4 AND CAST(JSON_EXTRACT_PATH_TEXT(metadata, 'price') AS INTEGER) < 1000000;
Gunakan TEXT version untuk comparison dan filtering.
Hasil
| id | name | metadata |
|---|---|---|
| 1 | Phone | {"category":"Electronics","price":"800000"} |
| 3 | Tablet | {"category":"Electronics","price":"500000"} |