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> ] [ RETURNING json ] )
<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 definiert.
json_null_clause
Kann verwendet werden, um das Verhalten JSON_OBJECT Funktion zu steuern, wenn value_expressionNULList. 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 NULList. Die Standardeinstellung für diese Option ist ABSENT ON NULL.
Rückgabewert
Gibt eine gültige JSON-Arrayzeichenfolge vom Typ nvarchar(max) zurück. Wenn die RETURNING json Option enthalten ist, wird das JSON-Array als JSON-Typ zurückgegeben.
Weitere Informationen dazu, was in der Ausgabe der JSON_ARRAY-Funktion angezeigt wird, finden Sie in den folgenden Artikeln:
| Artikel | Description |
|---|---|
| So konvertiert FOR JSON SQL Server-Datentypen in JSON-Datentypen | Die JSON_ARRAY-Funktion verwendet die in diesem FOR JSON-Artikel beschriebenen Regeln, um SQL-Datentypen in JSON-Typen in der JSON-Arrayausgabe zu konvertieren. |
| So escapet FOR JSON Sonderzeichen und Steuerzeichen | Die JSON_ARRAY-Funktion schützt Sonderzeichen und stellt die Steuerzeichen in der JSON-Ausgabe wie in diesem FOR 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 NULList. Da die json_null_clause ausgelassen wird und der Standardwert für diese Option lautet, wird ABSENT ON NULLder 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 AS 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"] |
Beispiel 9
Im folgenden Beispiel wird ein JSON-Array als JSON-Typ zurückgegeben.
SELECT JSON_ARRAY(1 RETURNING JSON);
Ergebnis
[1]