JSON_ARRAY (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL Analytics-Endpunkt in Microsoft Fabric
Warehouse in Microsoft Fabric
Erstellt JSON-Arraytext aus null oder mehr Ausdrücken.
Syntax
JSON_ARRAY ( [ <json_array_value> [,...n] ] [ <json_null_clause> ] )
<json_array_value> ::= value_expression
<json_null_clause> ::=
NULL ON NULL
| ABSENT ON NULL
Argumente
json_array_value
Ein Ausdruck, der den Wert des Elements im JSON-Array bestimmt
json_null_clause
Kann verwendet werden, um das Verhalten JSON_OBJECT
Funktion zu steuern, wenn value_expression
NULL
ist. Die Option NULL ON NULL
konvertiert den SQL-NULL
-Wert in einen JSON-NULL
-Wert, wenn der Wert des Elements im JSON-Array generiert wird. Die Option ABSENT ON NULL
wird das Element im JSON-Array weglassen, wenn der Wert NULL
ist. Die Standardeinstellung für diese Option ist ABSENT ON NULL
.
Rückgabewert
Gibt eine gültige JSON-Arrayzeichenfolge vom Typ nvarchar(max) zurück.
Weitere Informationen dazu, was in der Ausgabe der JSON_ARRAY
-Funktion angezeigt wird, finden Sie in den folgenden Artikeln:
So konvertiert FOR JSON SQL Server-Datentypen in JSON-Datentypen (SQL Server)
DieJSON_ARRAY
-Funktion verwendet die in diesemFOR JSON
-Artikel beschriebenen Regeln, um SQL-Datentypen in JSON-Typen in der JSON-Arrayausgabe zu konvertieren.Schutz von Sonderzeichen und Steuerzeichen durch FOR JSON (SQL Server)
DieJSON_ARRAY
-Funktion schützt Sonderzeichen und stellt die Steuerzeichen in der JSON-Ausgabe wie in diesemFOR JSON
-Artikel beschrieben dar.
Beispiele
Beispiel 1
Im folgenden Beispiel wird ein leeres JSON-Array zurückgegeben.
SELECT JSON_ARRAY();
Ergebnis
[]
Beispiel 2
Im folgenden Beispiel wird ein JSON-Array mit vier Elementen zurückgegeben.
SELECT JSON_ARRAY('a', 1, 'b', 2)
Ergebnis
["a",1,"b",2]
Beispiel 3
Im folgenden Beispiel wird ein JSON-Array mit drei Elementen zurückgegeben, da einer der Eingabewerte NULL
ist. Da der json_null_clause ausgelassen wird und der Standardwert für diese Option ABSENT ON NULL
ist, wird der NULL
Wert in einem der Eingaben nicht in einen JSON-Nullwert konvertiert.
SELECT JSON_ARRAY('a', 1, 'b', NULL)
Ergebnis
["a",1,"b"]
Beispiel 4
Im folgenden Beispiel wird ein JSON-Array mit vier Elementen zurückgegeben. Die option NULL ON NULL
wird angegeben, sodass jeder SQL-NULL
-Wert in der Eingabe in DEN JSON-Nullwert im JSON-Array konvertiert wird.
SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)
Ergebnis
["a",1,null,2]
Beispiel 5
Im folgenden Beispiel wird ein JSON-Array mit zwei Elementen zurückgegeben. Ein Element enthält eine JSON-Zeichenfolge, und das andere Element enthält ein JSON-Objekt.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1))
Ergebnis
["a",{"name":"value","type":1}]
Beispiel 6
Im folgenden Beispiel wird ein JSON-Array mit drei Elementen zurückgegeben. Ein Element enthält eine JSON-Zeichenfolge, ein anderes Element enthält ein JSON-Objekt und ein anderes Element enthält ein JSON-Array.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1), JSON_ARRAY(1, null, 2 NULL ON NULL))
Ergebnis
["a",{"name":"value","type":1},[1,null,2]]
Beispiel 7
Im folgenden Beispiel wird ein JSON-Array mit den Eingaben zurückgegeben, die als Variablen oder SQL-Ausdrücke angegeben sind.
DECLARE @id_value nvarchar(64) = NEWID();
SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID));
Ergebnis
[1,"4BEA4F9F-D169-414F-AF99-9270FDB2EA62",55]
Beispiel 8
Im folgenden Beispiel wird ein JSON-Array pro Zeile in der Abfrage zurückgegeben.
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;
Ergebnis
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"] |