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:
expr
adalah ekspresi SQL apa pun yang mengevaluasi objek JSON, larik JSON, literal numerik, literal teks, tanggal, stempel waktu, ataunull
.FORMAT JSON
menunjukkan bahwa string input adalah JSON, dan karena itu tidak akan dikutip dalam output.JSON_on_null_clause
menentukan perilaku yang akan digunakan saatexpr
berisi nilai nol (yaitu menyertakan nilai nol dalam output atau tidak).JSON_returning_clause
menentukan jenis nilai kembalian.STRICT
memeriksa 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.