Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
database SQL di Azure
'Istanza gestita di SQL di Azure
endpoint di analisi SQL in Microsoft Fabric
Warehouse in Microsoft Fabric
Costruisce il testo della matrice JSON da zero o più espressioni.
Sintassi
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
Argomenti
json_array_value
Espressione che definisce il valore dell'elemento nella matrice JSON.
json_null_clause
Può essere usato per controllare il comportamento della funzione di JSON_OBJECT quando value_expression è NULL. L'opzione NULL ON NULL converte il valore SQL NULL in un valore JSON NULL durante la generazione del valore dell'elemento nella matrice JSON. L'opzione ABSENT ON NULL omette l'elemento nella matrice JSON se il valore è NULL. L'impostazione predefinita per questa opzione è ABSENT ON NULL.
Valore restituito
Restituisce una stringa di matrice JSON valida di tipo nvarchar(max). Se l'opzione RETURNING json è inclusa, la matrice JSON viene restituita come tipo json .
Per altre informazioni su quanto visualizzato nell'output della funzione JSON_ARRAY, vedere gli articoli seguenti:
| Article | Description |
|---|---|
| Come FOR JSON converte i tipi di dati di SQL Server in tipi di dati JSON | La funzione JSON_ARRAY usa le regole descritte in questo articolo FOR JSON per convertire i tipi di dati SQL in tipi JSON nell'output della matrice JSON. |
| Come FOR JSON esegue l'escape dei caratteri speciali e di controllo | La funzione JSON_ARRAY usa sequenze di escape per i caratteri speciali e rappresenta i caratteri di controllo nell'output JSON come descritto in questo articolo FOR JSON. |
Esempi
Esempio 1
L'esempio seguente restituisce una matrice JSON vuota.
SELECT JSON_ARRAY();
Risultato
[]
Esempio 2
Nell'esempio seguente viene restituita una matrice JSON con quattro elementi.
SELECT JSON_ARRAY('a', 1, 'b', 2);
Risultato
["a",1,"b",2]
Esempio 3
L'esempio seguente restituisce una matrice JSON con tre elementi perché uno dei valori di input è NULL. Poiché il json_null_clause viene omesso e l'impostazione predefinita per questa opzione è ABSENT ON NULL, il NULL valore in uno degli input non viene convertito in un valore Null JSON.
SELECT JSON_ARRAY('a', 1, 'b', NULL);
Risultato
["a",1,"b"]
Esempio 4
Nell'esempio seguente viene restituita una matrice JSON con quattro elementi. L'opzione NULL ON NULL viene specificata in modo che qualsiasi valore sql NULL nell'input venga convertito in valore Null JSON nella matrice JSON.
SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL);
Risultato
["a",1,null,2]
Esempio 5
Nell'esempio seguente viene restituita una matrice JSON con due elementi. Un elemento contiene una stringa JSON e un altro un oggetto JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1));
Risultato
["a",{"name":"value","type":1}]
Esempio 6
Nell'esempio seguente viene restituita una matrice JSON con tre elementi. Un elemento contiene una stringa JSON, un altro elemento contiene un oggetto JSON e un altro elemento contiene una matrice JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1), JSON_ARRAY(1, NULL, 2 NULL ON NULL));
Risultato
["a",{"name":"value","type":1},[1,null,2]]
Esempio 7
L'esempio seguente restituisce una matrice JSON con gli input specificati come variabili o espressioni SQL.
DECLARE @id_value AS NVARCHAR (64) = NEWID();
SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID));
Risultato
[1,"4BEA4F9F-D169-414F-AF99-9270FDB2EA62",55]
Esempio 8
L'esempio seguente restituisce una matrice JSON per ogni riga della query.
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;
Risultato
| session_id | 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"] |
Esempio 9
L'esempio seguente restituisce una matrice JSON come tipo json .
SELECT JSON_ARRAY(1 RETURNING JSON);
Risultato
[1]