Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Fungsi JSON_EXTRACT_PATH_TEXT - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi JSON_EXTRACT_PATH_TEXT

catatan

JSON_PARSE dan fungsi terkaitnya mengurai nilai JSON sebagai SUPER, yang diurai Amazon Redshift lebih efisien daripada VARCHAR.

Alih-alih menggunakan JSON_EXTRACT_PATH_TEXT, kami sarankan Anda mengurai string JSON Anda menggunakan untuk mendapatkan nilai SUPER. Fungsi JSON_PARSE Kemudian, kueri elemen yang Anda inginkan menggunakan value.attribute sintaks. Untuk informasi lebih lanjut tentang menanyakan elemen array dalam nilai SUPER, buka. Meminta data semi-terstruktur

Fungsi JSON_EXTRACT_PATH_TEXT mengembalikan nilai untuk pasangan kunci-nilai direferensikan oleh serangkaian elemen jalur dalam string JSON. Jalur JSON dapat bersarang hingga kedalaman lima tingkat. Elemen jalur peka huruf besar/kecil. Jika elemen path tidak ada dalam string JSON, JSON_EXTRACT_PATH_TEXT kembali. NULL

Jika argumen null_if_invalid disetel ke TRUE dan string JSON tidak valid, fungsi kembali alih-alih mengembalikan kesalahan. NULL

JSON_EXTRACT_PATH_TEXT memiliki maksimum ukuran data 64KB. Jadi, jika ada catatan JSON yang lebih besar dari 64KB, memprosesnya dengan JSON_EXTRACT_PATH_TEXT menghasilkan kesalahan.

Untuk informasi tentang fungsi JSON tambahan, lihatFungsi JSON. Untuk informasi lebih lanjut tentang bekerja dengan JSON, lihatCOPY dari format JSON.

Sintaks

JSON_EXTRACT_PATH_TEXT('json_string', 'path_elem' [,'path_elem'[, …] ] [, null_if_invalid ] )

Argumen

json_string

String JSON yang diformat dengan benar.

path_elem

Sebuah elemen path dalam string JSON. Satu elemen jalur diperlukan. Elemen jalur tambahan dapat ditentukan, hingga lima tingkat dalam.

null_if_invalid

(Opsional) BOOLEAN Nilai yang menentukan apakah akan kembali NULL jika input JSON string tidak valid alih-alih mengembalikan kesalahan. Untuk kembali NULL jika JSON tidak valid, tentukan TRUE (). t Untuk mengembalikan kesalahan jika JSON tidak valid, tentukan FALSE (). f Default-nya adalah FALSE.

Dalam string JSON, Amazon Redshift \n mengenali sebagai karakter baris baru \t dan sebagai karakter tab. Untuk memuat garis miring terbalik, lepaskan dengan garis miring terbalik (). \\ Untuk informasi selengkapnya, lihat Karakter melarikan diri di JSON.

Jenis pengembalian

VARCHAR

Sebuah VARCHAR string yang mewakili nilai JSON direferensikan oleh elemen jalur.

Contoh

Untuk mengembalikan nilai untuk jalur'f4', 'f6', gunakan contoh berikut.

SELECT JSON_EXTRACT_PATH_TEXT('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}','f4', 'f6'); +------------------------+ | json_extract_path_text | +------------------------+ | star | +------------------------+

Untuk mengembalikan kesalahan karena JSON tidak valid, gunakan contoh berikut.

SELECT JSON_EXTRACT_PATH_TEXT('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6'); ERROR: invalid json object {"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}

Untuk menyetel null_if_invalid ke TRUE, sehingga pernyataan mengembalikan JSON yang tidak valid alih-alih mengembalikan kesalahan, gunakan NULL contoh berikut.

SELECT JSON_EXTRACT_PATH_TEXT('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6',true); +------------------------+ | json_extract_path_text | +------------------------+ | NULL | +------------------------+

Perhatikan contoh berikut, yang memilih nilai untuk jalur'farm', 'barn', 'color', di mana nilai yang diambil berada di tingkat ketiga, gunakan contoh berikut. Sampel ini diformat dengan alat lint JSON, agar lebih mudah dibaca.

SELECT JSON_EXTRACT_PATH_TEXT('{ "farm": { "barn": { "color": "red", "feed stocked": true } } }', 'farm', 'barn', 'color'); +------------------------+ | json_extract_path_text | +------------------------+ | red | +------------------------+

Untuk kembali NULL karena 'color' elemen hilang, gunakan contoh berikut. Sampel ini diformat dengan alat lint JSON.

SELECT JSON_EXTRACT_PATH_TEXT('{ "farm": { "barn": {} } }', 'farm', 'barn', 'color'); +------------------------+ | json_extract_path_text | +------------------------+ | NULL | +------------------------+

Jika JSON valid, mencoba mengekstrak elemen yang hilang kembaliNULL.

Untuk mengembalikan nilai untuk jalur'house', 'appliances', 'washing machine', 'brand', gunakan contoh berikut.

SELECT JSON_EXTRACT_PATH_TEXT('{ "house": { "address": { "street": "123 Any St.", "city": "Any Town", "state": "FL", "zip": "32830" }, "bathroom": { "color": "green", "shower": true }, "appliances": { "washing machine": { "brand": "Any Brand", "color": "beige" }, "dryer": { "brand": "Any Brand", "color": "white" } } } }', 'house', 'appliances', 'washing machine', 'brand'); +------------------------+ | json_extract_path_text | +------------------------+ | Any Brand | +------------------------+

Contoh berikut membuat tabel sampel dan mengisinya dengan nilai SUPER, lalu mengembalikan nilai untuk jalur 'f2' untuk kedua baris.

CREATE TABLE json_example(id INT, json_text SUPER); INSERT INTO json_example VALUES (1, JSON_PARSE('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}')), (2, JSON_PARSE('{ "farm": { "barn": { "color": "red", "feed stocked": true } } }')); SELECT * FROM json_example; id | json_text ------------+-------------------------------------------- 1 | {"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}} 2 | {"farm":{"barn":{"color":"red","feed stocked":true}}} SELECT id, JSON_EXTRACT_PATH_TEXT(JSON_SERIALIZE(json_text), 'f2') FROM json_example; id | json_text ------------+-------------------------------------------- 1 | {"f3":1} 2 |

Perhatikan contoh pernyataan berikut. Path_elem yang disediakan adalah NULL, jadi JSON_EXTRACT_PATH_TEXT mengembalikan NULL terlepas dari nilai parameter lainnya.

--Statement where path_elem is NULL and json_string is valid JSON. SELECT JSON_EXTRACT_PATH_TEXT('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}',NULL); json_extract_path_text ------------------------ NULL --Statement where only one path_elem is NULL. SELECT JSON_EXTRACT_PATH_TEXT('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}','f4',NULL); json_extract_path_text ------------------------ NULL --Statement where path_elem is NULL and json_string is invalid JSON. SELECT json_extract_path_text('invalid_json', NULL); json_extract_path_text ------------------------ NULL --Statement where path_elem is NULL and null_if_invalid is FALSE. SELECT json_extract_path_text(NULL, 0, FALSE); json_extract_path_text ------------------------ NULL

Perhatikan contoh pernyataan berikut. Ketika null_if_invalid TRUE, JSON_EXTRACT_PATH_TEXT mengembalikan NULL ketika json_string JSON tidak valid. Jika null_if_invalid adalah FALSE atau tidak disetel, fungsi mengembalikan kesalahan ketika json_string tidak valid.

--Statement with invalid JSON where null_if_invalid is TRUE. SELECT json_extract_path_text('invalid_json', 0, TRUE); json_extract_path_text ------------------------ NULL --Statement with invalid JSON where null_if_invalid is FALSE. SELECT json_extract_path_text('invalid_json', 0, FALSE); ERROR: JSON parsing error

Pertimbangkan contoh berikut, di mana json_string adalah JSON yang valid, dan path_elem mengacu pada nilai JSON. null Dalam hal ini, JSON_EXTRACT_PATH_TEXT mengembalikan NULL. Demikian pula, ketika path_elem mengacu pada nilai yang tidak ada, JSON_EXTRACT_PATH_TEXT mengembalikan NULL, terlepas dari nilai null_if_invalid.

--Statement selecting a null value. SELECT json_extract_path_text('[null]', 0); json_extract_path_text ------------------------- NULL --Statement selecting a non-existing value. SELECT json_extract_path_text('{}', 'a'); json_extract_path_text ------------------------- NULL
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.