JSON_ EXTRACT _ ARRAY _ ELEMENT _ TEXT fungsi - Amazon Redshift

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

JSON_ EXTRACT _ ARRAY _ ELEMENT _ TEXT fungsi

catatan

JSON_ PARSE dan fungsi terkaitnya mengurai JSON nilai sebagaiSUPER, yang diurai Amazon Redshift lebih efisien daripada. VARCHAR

Alih-alih menggunakan JSON _ EXTRACT ARRAY _ ELEMENT _ _TEXT, kami sarankan Anda mengurai JSON string Anda menggunakan JSON_ PARSE fungsi untuk mendapatkan SUPER nilai. Kemudian, kueri elemen yang Anda inginkan menggunakan indeks array, menggunakan value[element position] sintaks. Untuk informasi lebih lanjut tentang menanyakan elemen array dalam SUPER nilai, buka. Meminta data semi-terstruktur

TEXTFungsi JSON EXTRACT _ ARRAY _ ELEMENT _ mengembalikan elemen JSON array dalam array terluar JSON string, menggunakan indeks berbasis nol. Elemen pertama dalam array berada pada posisi 0. Jika indeks negatif atau keluar dari terikat, JSON _ _ EXTRACT _ ARRAY ELEMENT _ TEXT mengembalikan string kosong. Jika argumen null_if_invalid disetel ke true dan JSON string tidak valid, fungsi kembali alih-alih mengembalikan kesalahan. NULL

Untuk informasi selengkapnya, lihat JSONfungsi.

Sintaks

JSON_EXTRACT_ARRAY_ELEMENT_TEXT('json string', pos [, null_if_invalid ] )

Argumen

json_string

JSONString yang diformat dengan benar.

pos

Sebuah INTEGER mewakili indeks elemen array yang akan dikembalikan, menggunakan indeks array berbasis nol.

null_if_invalid

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

Jenis pengembalian

VARCHAR

Sebuah VARCHAR string yang mewakili elemen JSON array direferensikan oleh pos.

Contoh

Untuk mengembalikan elemen array pada posisi 2, yang merupakan elemen ketiga dari indeks array berbasis nol, gunakan contoh berikut.

SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('[111,112,113]', 2); +---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | 113 | +---------------------------------+

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

SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1); ERROR: invalid json array object ["a",["b",1,["c",2,3,null,]]]

Untuk menyetel null_if_invalid ke true, sehingga pernyataan kembali NULL alih-alih mengembalikan kesalahan untuk tidak valid, gunakan contoh berikut. JSON

SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1,true); +---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | NULL | +---------------------------------+