JSON_ARRAY (T-SQL)

Berlaku untuk: SQL Server 2022 (16.x) Azure SQL Database

Membuat teks array JSON dari nol atau lebih ekspresi.

Sintaks

JSON_ARRAY ( [ <json_array_value> [,...n] ] [ <json_null_clause> ]  )  

<json_array_value> ::= value_expression

<json_null_clause> ::=
	  NULL ON NULL
	| ABSENT ON NULL

Argumen

json_array_value Adalah ekspresi yang menentukan nilai elemen dalam array JSON.

json_null_clause dapat digunakan untuk mengontrol perilaku fungsi JSON_OBJECT saat value_expression NULL. Opsi NULL ON NULL mengonversi nilai SQL NULL menjadi nilai null JSON 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.

Untuk informasi selengkapnya tentang apa yang Anda lihat dalam output JSON_ARRAY fungsi, lihat artikel berikut ini:

Nilai hasil

Mengembalikan string array JSON yang valid dari jenis nvarchar(maks).

Keterangan

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 adalah NULL. Karena json_null_clause dihilangkan dan default untuk opsi ini adalah ABSENT ON NULL, nilai NULL di 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 apa pun 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 & 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 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"]

Baca juga

JSON Data (SQL Server)