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 kembaliNULL
jika input JSON string tidak valid alih-alih mengembalikan kesalahan. Untuk kembaliNULL
jika JSON tidak valid, tentukantrue
().t
Untuk mengembalikan kesalahan jika JSON tidak valid, tentukanfalse
().f
Default-nya adalahfalse
.
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 |
+-------------------+