Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
ponto de extremidade de análise de SQL no Microsoft Fabric
Warehouse no Microsoft Fabric
Constrói o texto da matriz JSON com base em zero ou mais expressões.
Sintaxe
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
Argumentos
json_array_value
Uma expressão que define o valor do elemento na matriz JSON.
json_null_clause
Pode ser usado para controlar o comportamento da função JSON_OBJECT quando value_expression é NULL. A opção NULL ON NULL converte o valor SQL NULL em um valor NULL JSON ao gerar o valor do elemento na matriz JSON. A opção ABSENT ON NULL omitirá o elemento na matriz JSON se o valor for NULL. A configuração padrão para essa opção é ABSENT ON NULL.
Valor retornado
Retorna uma cadeia de caracteres de matriz JSON válida do tipo nvarchar(max). Se a opção RETURNING json estiver incluída, a matriz JSON será retornada como tipo json .
Para obter mais informações sobre o que você vê na saída da função JSON_ARRAY, confira os seguintes artigos:
| Artigo | Description |
|---|---|
| Como FOR JSON converte tipos de dados do SQL Server em tipos de dados JSON | A função JSON_ARRAY usa as regras descritas neste artigo FOR JSON para converter os tipos de dados SQL em tipos JSON na saída da matriz JSON. |
| Como a FOR JSON ignora os caracteres especiais e os caracteres de controle | A função JSON_ARRAY escapa os caracteres especiais e representa os caracteres de controle na saída JSON, conforme descrito neste artigo FOR JSON. |
Exemplos
Exemplo 1
O exemplo a seguir retorna uma matriz JSON vazia.
SELECT JSON_ARRAY();
Resultado
[]
Exemplo 2
O exemplo a seguir retorna uma matriz JSON com quatro elementos.
SELECT JSON_ARRAY('a', 1, 'b', 2);
Resultado
["a",1,"b",2]
Exemplo 3:
O exemplo a seguir retorna uma matriz JSON com três elementos, uma vez que um dos valores de entrada é NULL. Como o json_null_clause é omitido e o padrão para essa opção é ABSENT ON NULL, o NULL valor em uma das entradas não é convertido em um valor nulo JSON.
SELECT JSON_ARRAY('a', 1, 'b', NULL);
Resultado
["a",1,"b"]
Exemplo 4
O exemplo a seguir retorna uma matriz JSON com quatro elementos. A opção NULL ON NULL é especificada para que qualquer valor NULL SQL na entrada seja convertido em valor nulo JSON na matriz JSON.
SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL);
Resultado
["a",1,null,2]
Exemplo 5
O exemplo a seguir retorna uma matriz JSON com dois elementos. Um elemento contém uma cadeia de caracteres JSON e outro elemento contém um objeto JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1));
Resultado
["a",{"name":"value","type":1}]
Exemplo 6
O exemplo a seguir retorna uma matriz JSON com três elementos. Um elemento contém uma cadeia de caracteres JSON, outro elemento contém um objeto JSON e outro elemento contém uma matriz JSON.
SELECT JSON_ARRAY('a', JSON_OBJECT('name':'value', 'type':1), JSON_ARRAY(1, NULL, 2 NULL ON NULL));
Resultado
["a",{"name":"value","type":1},[1,null,2]]
Exemplo 7
O exemplo a seguir retorna uma matriz JSON com as entradas especificadas como variáveis ou expressões SQL.
DECLARE @id_value AS NVARCHAR (64) = NEWID();
SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID));
Resultado
[1,"4BEA4F9F-D169-414F-AF99-9270FDB2EA62",55]
Exemplo 8
O exemplo a seguir retorna uma matriz JSON por linha na consulta.
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;
Resultado
| session_id | informações |
|---|---|
| 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"] |
Exemplo 9
O exemplo a seguir retorna uma matriz JSON como tipo json .
SELECT JSON_ARRAY(1 RETURNING JSON);
Resultado
[1]