Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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]