Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-analysslutpunkt i Microsoft Fabric
Warehouse i Microsoft Fabric
Konstruerar JSON-matristext från noll eller fler uttryck.
Syntax
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
Argument
json_array_value
Ett uttryck som definierar värdet för elementet i JSON-matrisen.
json_null_clause
Kan användas för att styra beteendet för JSON_OBJECT funktion när value_expression är NULL. Alternativet NULL ON NULL konverterar SQL-NULL-värdet till ett JSON-NULL-värde när du genererar värdet för elementet i JSON-matrisen. Alternativet ABSENT ON NULL utelämnar elementet i JSON-matrisen om värdet är NULL. Standardinställningen för det här alternativet är ABSENT ON NULL.
Returvärde
Returnerar en giltig JSON-matrissträng med nvarchar(max) typ. Om alternativet RETURNING json ingår returneras JSON-matrisen som json-typ .
Mer information om vad du ser i utdata för funktionen JSON_ARRAY finns i följande artiklar:
| Article | Description |
|---|---|
| Så här konverterar FÖR JSON SQL Server-datatyper till JSON-datatyper | Funktionen JSON_ARRAY använder de regler som beskrivs i den här FOR JSON artikeln för att konvertera SQL-datatyper till JSON-typer i JSON-matrisens utdata. |
| Hur för JSON hanterar specialtecken och kontrolltecken | Funktionen JSON_ARRAY undflyr specialtecken och representerar kontrolltecken i JSON-utdata enligt beskrivningen i den här FOR JSON artikeln. |
Exempel
Exempel 1
I följande exempel returneras en tom JSON-matris.
SELECT JSON_ARRAY();
resultat
[]
Exempel 2
I följande exempel returneras en JSON-matris med fyra element.
SELECT JSON_ARRAY('a', 1, 'b', 2);
resultat
["a",1,"b",2]
Exempel 3
I följande exempel returneras en JSON-matris med tre element eftersom ett av indatavärdena är NULL. Eftersom json_null_clause utelämnas och standardvärdet för det här alternativet är ABSENT ON NULLkonverteras NULL inte värdet i någon av indata till ett JSON null-värde.
SELECT JSON_ARRAY('a', 1, 'b', NULL);
resultat
["a",1,"b"]
Exempel 4
I följande exempel returneras en JSON-matris med fyra element. Alternativet NULL ON NULL anges så att alla SQL-NULL-värden i indata konverteras till JSON null-värdet i JSON-matrisen.
SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL);
resultat
["a",1,null,2]
Exempel 5
I följande exempel returneras en JSON-matris med två element. Ett element innehåller en JSON-sträng och ett annat element innehåller ett JSON-objekt.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1));
resultat
["a",{"name":"value","type":1}]
Exempel 6
I följande exempel returneras en JSON-matris med tre element. Ett element innehåller en JSON-sträng, ett annat element innehåller ett JSON-objekt och ett annat element innehåller en JSON-matris.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1), JSON_ARRAY(1, NULL, 2 NULL ON NULL));
resultat
["a",{"name":"value","type":1},[1,null,2]]
Exempel 7
I följande exempel returneras en JSON-matris med de indata som anges som variabler eller SQL-uttryck.
DECLARE @id_value AS NVARCHAR (64) = NEWID();
SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID));
resultat
[1,"4BEA4F9F-D169-414F-AF99-9270FDB2EA62",55]
Exempel 8
I följande exempel returneras en JSON-matris per rad i frågan.
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;
resultat
| session_id | information |
|---|---|
| 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"] |
Exempel 9
I följande exempel returneras en JSON-matris som json-typ .
SELECT JSON_ARRAY(1 RETURNING JSON);
resultat
[1]