Sdílet prostřednictvím


JSON_ARRAY (Transact-SQL)

platí pro:SQL ServerAzure SQL Databasekoncový bod služby Azure SQL Managed InstanceSQL Analytics ve službě Microsoft FabricWarehouse v Microsoft Fabric

Vytvoří text pole JSON z nulových nebo více výrazů.

Syntax

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

Je výraz, který definuje hodnotu elementu v poli JSON.

json_null_clause

Lze použít k řízení chování JSON_OBJECT funkce, když value_expression má hodnotu NULL. Možnost NULL ON NULL při generování hodnoty elementu v poli JSON převede hodnotu NULL SQL na hodnotu JSON null. Možnost ABSENT ON NULL vynechá prvek v poli JSON, pokud je hodnota NULL. Výchozí nastavení této možnosti je ABSENT ON NULL.

Návratová hodnota

Vrátí platný řetězec pole JSON nvarchar(max) typu.

Další informace o tom, co vidíte ve výstupu funkce JSON_ARRAY, najdete v následujících článcích:

Příklady

Příklad 1

Následující příklad vrátí prázdné pole JSON.

SELECT JSON_ARRAY();

výsledek

[]

Příklad 2

Následující příklad vrátí pole JSON se čtyřmi prvky.

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

výsledek

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

Příklad 3

Následující příklad vrátí pole JSON se třemi prvky, protože jedna ze vstupních hodnot má hodnotu NULL. Vzhledem k tomu, json_null_clause je vynechán a výchozí hodnota pro tuto možnost je CHYBĚJÍCÍ ON NULL, hodnota NULL v jednom ze vstupů není převedena na hodnotu NULL JSON.

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

výsledek

["a",1,"b"]

Příklad 4

Následující příklad vrátí pole JSON se čtyřmi prvky. Je zadána možnost NULL ON NULL, aby všechny hodnoty SQL NULL ve vstupu byly převedeny na hodnotu JSON null v poli JSON.

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

výsledek

["a",1,null,2]

Příklad 5

Následující příklad vrátí pole JSON se dvěma prvky. Jeden prvek obsahuje řetězec JSON a druhý prvek obsahuje objekt JSON.

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

výsledek

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

Příklad 6

Následující příklad vrátí pole JSON se třemi prvky. Jeden prvek obsahuje řetězec JSON, druhý prvek obsahuje objekt JSON & jiný prvek obsahuje pole JSON.

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

výsledek

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

Příklad 7

Následující příklad vrátí pole JSON se vstupy zadanými jako proměnné nebo výrazy SQL.

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

výsledek

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

Příklad 8

Následující příklad vrátí pole JSON na řádek v dotazu.

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;

výsledek

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