Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
titik akhir analitik Azure SQL Managed Instance
SQL di Microsoft Fabric
Warehouse di Microsoft Fabric
Membuat teks array JSON dari nol atau lebih ekspresi.
Sintaks
JSON_ARRAY ( [ <json_array_value> [ , ...n ] ] [ <json_null_clause> ] [ RETURNING json ] )
<json_array_value> ::= value_expression
<json_null_clause> ::=
NULL ON NULL
| ABSENT ON NULL
Argumen
json_array_value
Ekspresi yang menentukan nilai elemen dalam array JSON.
json_null_clause
Dapat digunakan untuk mengontrol perilaku fungsi JSON_OBJECT saat value_expressionNULL. Opsi NULL ON NULL mengonversi nilai SQL NULL menjadi nilai JSON NULL saat menghasilkan nilai elemen dalam array JSON. Opsi ABSENT ON NULL akan menghilangkan elemen dalam array JSON jika nilainya NULL. Pengaturan default untuk opsi ini adalah ABSENT ON NULL.
Nilai hasil
Mengembalikan string array JSON yang valid dari jenis nvarchar(maks ).
RETURNING json Jika opsi disertakan maka array JSON dikembalikan sebagai jenis json.
Untuk informasi selengkapnya tentang apa yang Anda lihat dalam output JSON_ARRAY fungsi, lihat artikel berikut ini:
| Article | Description |
|---|---|
| Cara FOR JSON mengonversi jenis data SQL Server ke jenis data JSON | Fungsi ini JSON_ARRAY menggunakan aturan yang dijelaskan dalam artikel ini FOR JSON untuk mengonversi jenis data SQL ke jenis JSON dalam output array JSON. |
| Bagaimana FOR JSON meloloskan karakter khusus dan karakter kontrol | Fungsi ini JSON_ARRAY lolos dari karakter khusus dan mewakili karakter kontrol dalam output JSON seperti yang dijelaskan dalam artikel ini FOR JSON . |
Contoh
Contoh 1
Contoh berikut mengembalikan array JSON kosong.
SELECT JSON_ARRAY();
Hasil
[]
Contoh 2
Contoh berikut mengembalikan array JSON dengan empat elemen.
SELECT JSON_ARRAY('a', 1, 'b', 2);
Hasil
["a",1,"b",2]
Contoh 3
Contoh berikut mengembalikan array JSON dengan tiga elemen karena salah satu nilai input NULL. Karena json_null_clause dihilangkan dan default untuk opsi ini adalah ABSENT ON NULL, NULL nilai dalam salah satu input tidak dikonversi ke nilai null JSON.
SELECT JSON_ARRAY('a', 1, 'b', NULL);
Hasil
["a",1,"b"]
Contoh 4
Contoh berikut mengembalikan array JSON dengan empat elemen. Opsi NULL ON NULL ditentukan sehingga nilai SQL NULL dalam input akan dikonversi ke nilai null JSON dalam array JSON.
SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL);
Hasil
["a",1,null,2]
Contoh 5
Contoh berikut mengembalikan array JSON dengan dua elemen. Satu elemen berisi string JSON dan elemen lain berisi objek JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1));
Hasil
["a",{"name":"value","type":1}]
Contoh 6
Contoh berikut mengembalikan array JSON dengan tiga elemen. Satu elemen berisi string JSON, elemen lain berisi objek JSON dan elemen lain berisi array JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1), JSON_ARRAY(1, NULL, 2 NULL ON NULL));
Hasil
["a",{"name":"value","type":1},[1,null,2]]
Contoh 7
Contoh berikut mengembalikan array JSON dengan input yang ditentukan sebagai variabel atau ekspresi SQL.
DECLARE @id_value AS NVARCHAR (64) = NEWID();
SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID));
Hasil
[1,"4BEA4F9F-D169-414F-AF99-9270FDB2EA62",55]
Contoh 8
Contoh berikut mengembalikan array JSON per baris dalam kueri.
SELECT s.session_id,
JSON_ARRAY(s.host_name, s.program_name, s.client_interface_name)
FROM sys.dm_exec_sessions AS s
WHERE s.is_user_process = 1;
Hasil
| id_sesi | info |
|---|---|
| 52 | ["WIN16-VM","Microsoft SQL Server Management Studio - Query",".Net SqlClient Data Provider"] |
| 55 | ["WIN16-VM","Microsoft SQL Server Management Studio - Query",".Net SqlClient Data Provider"] |
| 56 | ["WIN19-VM","SQLServerCEIP",".Net SqlClient Data Provider"] |
Contoh 9
Contoh berikut mengembalikan array JSON sebagai jenis json .
SELECT JSON_ARRAY(1 RETURNING JSON);
Hasil
[1]