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 2022 (16.x) e versões
posteriores Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
A JSON_PATH_EXISTS sintaxe testa se existe um caminho SQL/JSON especificado na cadeia de caracteres JSON de entrada.
Convenções de sintaxe de Transact-SQL
Syntax
JSON_PATH_EXISTS( value_expression , sql_json_path )
Arguments
value_expression
Uma expressão de caractere.
sql_json_path
Um caminho SQL/JSON válido a ser testado na entrada.
Valor de retorno
Retorna um valor int de 1 ou 0 ou .NULL Retorna NULL se o value_expression ou entrada for um valor SQL NULL . Retornará 1 se o caminho SQL/JSON fornecido existir na entrada ou retornará uma sequência não vazia. Retorna 0, caso contrário.
A função JSON_PATH_EXISTS não retorna erros.
Examples
Exemplo 1
O exemplo a seguir retorna 1, pois a cadeia de caracteres JSON de entrada contém o caminho SQL/JSON especificado. Este exemplo usa um caminho aninhado em que a chave está presente em outro objeto.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address');
Aqui está o conjunto de resultados.
1
Exemplo 2
O exemplo a seguir retorna 0 porque a cadeia de caracteres JSON de entrada não contém o caminho SQL/JSON especificado.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');
Aqui está o conjunto de resultados.
0
Exemplo 3
O exemplo a seguir usa JSON_PATH_EXISTS() com um curinga:
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1
Aqui está o conjunto de resultados.
1
O seguinte procura pelo menos um elemento na matriz tem um objeto com chave towne localiza um.
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"city":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1 (at least one element in array has an object with key "town")
Aqui está o conjunto de resultados.
1
O seguinte procura pelo menos um elemento na matriz tem um objeto com chave town, mas não encontra nenhum.
SET @jsonInfo = N'{"info":{"address":[{"city":"Paris"},{"city":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 0 (no elements in array has an object with key "town")
Aqui está o conjunto de resultados.
0