Udostępnij za pośrednictwem


JSON_ARRAY (Transact-SQL)

Dotyczy:programu SQL ServerAzure SQL Databaseazure SQL Managed Instancepunktu końcowego analizy SQL w usłudze Microsoft FabricWarehouse w usłudze Microsoft Fabric

Tworzy tekst tablicy JSON z zera lub większej liczby wyrażeń.

Składnia

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

<json_array_value> ::= value_expression

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

Argumenty

json_array_value

Jest wyrażeniem definiującym wartość elementu w tablicy JSON.

json_null_clause

Może służyć do kontrolowania zachowania funkcji JSON_OBJECT, gdy value_expression ma wartość NULL. Opcja NULL ON NULL konwertuje wartość NULL SQL na wartość null JSON podczas generowania wartości elementu w tablicy JSON. Opcja ABSENT ON NULL pominą element w tablicy JSON, jeśli wartość ma wartość NULL. Ustawieniem domyślnym dla tej opcji jest ABSENT ON NULL.

Wartość zwracana

Zwraca prawidłowy ciąg tablicy JSON nvarchar(max) typu.

Aby uzyskać więcej informacji o tym, co widzisz w danych wyjściowych funkcji JSON_ARRAY, zobacz następujące artykuły:

Przykłady

Przykład 1

Poniższy przykład zwraca pustą tablicę JSON.

SELECT JSON_ARRAY();

wyników

[]

Przykład 2

Poniższy przykład zwraca tablicę JSON z czterema elementami.

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

wyników

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

Przykład 3

Poniższy przykład zwraca tablicę JSON z trzema elementami, ponieważ jedna z wartości wejściowych ma wartość NULL. Ponieważ json_null_clause zostanie pominięta, a domyślna dla tej opcji jest NIEOBECNA W wartości NULL, wartość NULL w jednym z danych wejściowych nie jest konwertowana na wartość null JSON.

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

wyników

["a",1,"b"]

Przykład 4

Poniższy przykład zwraca tablicę JSON z czterema elementami. Opcja NULL ON NULL jest określona tak, aby każda wartość NULL SQL w danych wejściowych została przekonwertowana na wartość null JSON w tablicy JSON.

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

wyników

["a",1,null,2]

Przykład 5

Poniższy przykład zwraca tablicę JSON z dwoma elementami. Jeden element zawiera ciąg JSON, a drugi element zawiera obiekt JSON.

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

wyników

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

Przykład 6

Poniższy przykład zwraca tablicę JSON z trzema elementami. Jeden element zawiera ciąg JSON, inny element zawiera obiekt JSON & inny element zawiera tablicę JSON.

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

wyników

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

Przykład 7

Poniższy przykład zwraca tablicę JSON z danymi wejściowymi określonymi jako zmienne lub wyrażenia SQL.

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

wyników

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

Przykład 8

Poniższy przykład zwraca tablicę JSON na wiersz w zapytaniu.

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;

wyników

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