Delen via


JSON_ARRAY (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL Analytics-eindpunt in Microsoft FabricWarehouse in Microsoft Fabric

Hiermee maakt u JSON-matrixtekst van nul of meer expressies.

Syntaxis

JSON_ARRAY ( [ <json_array_value> [,...n] ] [ <json_null_clause> ]  )  

<json_array_value> ::= value_expression

<json_null_clause> ::=
      NULL ON NULL
    | ABSENT ON NULL

Argumenten

json_array_value

Is een expressie die de waarde van het element in de JSON-matrix definieert.

json_null_clause

Kan worden gebruikt om het gedrag van JSON_OBJECT functie te bepalen wanneer value_expression NULL is. De optie NULL ON NULL de SQL-NULL-waarde converteert naar een JSON-null-waarde bij het genereren van de waarde van het element in de JSON-matrix. Met de optie ABSENT ON NULL wordt het element in de JSON-matrix weggelaten als de waarde NULL is. De standaardinstelling voor deze optie is ABSENT ON NULL.

Retourwaarde

Retourneert een geldige JSON-matrixtekenreeks van nvarchar(max) type.

Zie de volgende artikelen voor meer informatie over wat u ziet in de uitvoer van de functie JSON_ARRAY:

Voorbeelden

Voorbeeld 1

In het volgende voorbeeld wordt een lege JSON-matrix geretourneerd.

SELECT JSON_ARRAY();

resultaat

[]

Voorbeeld 2

In het volgende voorbeeld wordt een JSON-matrix met vier elementen geretourneerd.

SELECT JSON_ARRAY('a', 1, 'b', 2)

resultaat

["a",1,"b",2]

Voorbeeld 3

In het volgende voorbeeld wordt een JSON-matrix met drie elementen geretourneerd, omdat een van de invoerwaarden NULL is. Omdat de json_null_clause wordt weggelaten en de standaardwaarde voor deze optie AFWEZIG IS OP NULL, wordt de NULL-waarde in een van de invoerwaarden niet geconverteerd naar een JSON-null-waarde.

SELECT JSON_ARRAY('a', 1, 'b', NULL)

resultaat

["a",1,"b"]

Voorbeeld 4

In het volgende voorbeeld wordt een JSON-matrix met vier elementen geretourneerd. De optie NULL ON NULL wordt opgegeven, zodat elke SQL NULL-waarde in de invoer wordt geconverteerd naar JSON Null-waarde in de JSON-matrix.

SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)

resultaat

["a",1,null,2]

Voorbeeld 5

In het volgende voorbeeld wordt een JSON-matrix met twee elementen geretourneerd. Eén element bevat een JSON-tekenreeks en een ander element bevat een JSON-object.

SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1))

resultaat

["a",{"name":"value","type":1}]

Voorbeeld 6

In het volgende voorbeeld wordt een JSON-matrix met drie elementen geretourneerd. Eén element bevat een JSON-tekenreeks, een ander element bevat een JSON-object & een ander element een JSON-matrix bevat.

SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1), JSON_ARRAY(1, null, 2 NULL ON NULL))

resultaat

["a",{"name":"value","type":1},[1,null,2]]

Voorbeeld 7

In het volgende voorbeeld wordt een JSON-matrix geretourneerd met de invoer die is opgegeven als variabelen of SQL-expressies.

DECLARE @id_value nvarchar(64) = NEWID();
SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID));

resultaat

[1,"4BEA4F9F-D169-414F-AF99-9270FDB2EA62",55]

Voorbeeld 8

In het volgende voorbeeld wordt een JSON-matrix per rij in de query geretourneerd.

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;

resultaat

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"]