Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
koncový bod služby Azure SQL Managed Instance
SQL Analytics ve službě Microsoft Fabric
Warehouse 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> ] [ RETURNING json ] )
<json_array_value> ::= value_expression
<json_null_clause> ::=
NULL ON NULL
| ABSENT ON NULL
Argumenty
json_array_value
Výraz, který definuje hodnotu elementu v poli JSON.
json_null_clause
Lze použít k řízení chování funkce JSON_OBJECT při value_expression je 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. Pokud je tato RETURNING json možnost zahrnutá, vrátí se pole JSON jako typ JSON .
Další informace o tom, co vidíte ve výstupu funkce JSON_ARRAY, najdete v následujících článcích:
| Article | Description |
|---|---|
| Jak FOR JSON převádí datové typy SQL Serveru na datové typy JSON | Funkce JSON_ARRAY používá pravidla popsaná v tomto článku FOR JSON k převodu datových typů SQL na typy JSON ve výstupu pole JSON. |
| Jak FOR JSON escapuje speciální znaky a řídicí znaky | Funkce JSON_ARRAY řídicími znaky a představuje řídicí znaky ve výstupu JSON, jak je popsáno v tomto FOR JSON článku. |
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 je NULL. Vzhledem k tomu, json_null_clause je vynechán a výchozí hodnota pro tuto možnost je ABSENT ON NULL, NULL hodnota 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. Možnost NULL ON NULL je zadána tak, 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 a další 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 AS 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"] |
Příklad 9
Následující příklad vrátí pole JSON jako typ JSON .
SELECT JSON_ARRAY(1 RETURNING JSON);
výsledek
[1]