Fungsi JSON_ARRAY_LENGTH - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, lihat posting blog.

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

Fungsi JSON_ARRAY_LENGTH

catatan

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

Alih-alih menggunakan JSON_ARRAY_LENGTH, kami sarankan Anda mengurai string JSON Anda menggunakan untuk mendapatkan nilai SUPER. Fungsi JSON_PARSE Kemudian, gunakan fungsi get_array_length untuk mendapatkan panjang array Anda.

Fungsi JSON_ARRAY_LENGTH mengembalikan jumlah elemen dalam array luar string JSON. Jika argumen null_if_invalid disetel ke true dan string JSON tidak valid, fungsi kembali alih-alih mengembalikan kesalahan. NULL

Untuk informasi selengkapnya, lihat Fungsi JSON.

Sintaks

JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] )

Argumen

json_array

Array JSON yang diformat dengan benar.

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 Nilai default-nya false.

Jenis pengembalian

INTEGER

Contoh

Untuk mengembalikan jumlah elemen dalam array, gunakan contoh berikut.

SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14]'); +-------------------+ | json_array_length | +-------------------+ | 5 | +-------------------+

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

SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14'); ERROR: invalid json array object [11,12,13,{"f1":21,"f2":[25,26]},14

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

SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14',true); +-------------------+ | json_array_length | +-------------------+ | NULL | +-------------------+