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> ] )
<json_array_value> ::= value_expression
<json_null_clause> ::=
NULL ON NULL
| ABSENT ON NULL
Argument
json_array_value
Är 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.
Mer information om vad du ser i utdata för funktionen JSON_ARRAY
finns i följande artiklar:
Hur FÖR JSON konverterar SQL Server-datatyper till JSON-datatyper (SQL Server)
FunktionenJSON_ARRAY
använder de regler som beskrivs i den härFOR JSON
artikeln för att konvertera SQL-datatyper till JSON-typer i JSON-matrisens utdata.How FOR JSON escapes special characters and control characters (SQL Server)
FunktionenJSON_ARRAY
undflyr specialtecken och representerar kontrolltecken i JSON-utdata enligt beskrivningen i den härFOR 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 NULL
konverteras inte det NULL
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 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"] |