Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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"] |