Di Oracle Database, JSON_ARRAY() fungsi membuat larik JSON dari urutan ekspresi skalar SQL atau satu contoh tipe koleksi, VARRAY atau NESTED TABLE .
Sintaks
Sintaksnya seperti ini:
JSON_ARRAY
( expr [ FORMAT JSON ] [, expr [ FORMAT JSON ] ]...
[ JSON_on_null_clause ] [ JSON_returning_clause ]
[ STRICT ] ) Dimana:
expradalah ekspresi SQL apa pun yang mengevaluasi objek JSON, larik JSON, literal numerik, literal teks, tanggal, stempel waktu, ataunull.FORMAT JSONmenunjukkan bahwa string input adalah JSON, dan karena itu tidak akan dikutip dalam output.JSON_on_null_clausemenentukan perilaku yang akan digunakan saatexprberisi nilai nol (yaitu menyertakan nilai nol dalam output atau tidak).JSON_returning_clausemenentukan jenis nilai kembalian.STRICTmemeriksa apakah output dari fungsi pembuatan JSON adalah JSON yang benar atau tidak. Jika pemeriksaan gagal, kesalahan sintaks akan muncul.
Contoh
Berikut ini contoh untuk mendemonstrasikan cara kerjanya:
SELECT JSON_ARRAY(1, 2, 3) FROM DUAL; Hasil:
[1,2,3]
Bersarang
Anda juga dapat membuat sarang JSON_ARRAY() fungsi dalam JSON_ARRAY() lain fungsi:
SELECT JSON_ARRAY(
JSON_ARRAY(1, 2, 3),
JSON_ARRAY(4, 5, 6)
)
FROM DUAL; Hasil:
[[1,2,3],[4,5,6]]
FORMAT JSON Klausa
Anda dapat menggunakan FORMAT JSON klausa untuk menunjukkan bahwa string input adalah JSON, dan karenanya tidak boleh dikutip dalam output.
Berikut ini contoh untuk didemonstrasikan:
SELECT
JSON_ARRAY('{"a":1}') AS r1,
JSON_ARRAY('{"a":1}' FORMAT JSON) AS r2
FROM DUAL; Hasil:
R1 R2
________________ ____________
["{\"a\":1}"] [{"a":1}] Nilai Null
Anda dapat menentukan apakah nilai null disertakan dalam larik yang dihasilkan atau tidak.
Untuk memasukkannya, gunakan NULL ON NULL :
SELECT
JSON_ARRAY(1, null, 3 NULL ON NULL)
FROM DUAL; Hasil:
[1,null,3]
Untuk mengecualikannya, gunakan ABSENT ON NULL :
SELECT
JSON_ARRAY(1, null, 3 ABSENT ON NULL)
FROM DUAL; Hasil:
[1,3]
ABSENT ON NULL adalah default.
Lihat dokumentasi Oracle untuk penjelasan lebih rinci tentang fungsi ini.