Compartilhar via


JSON_PATH_EXISTS (Transact-SQL)

aplica-se a: SQL Server 2022 (16.x) Banco de Dados SQL do AzureInstância Gerenciada de SQL do Azureponto de extremidade de análise de SQL do Azure Synapse Analyticsno Microsoft FabricWarehouse no Microsoft Fabric

Testa se existe um caminho SQL/JSON especificado na cadeia de caracteres JSON de entrada.

Convenções de sintaxe de Transact-SQL

Sintaxe

JSON_PATH_EXISTS( value_expression , sql_json_path )

Argumentos

value_expression

Uma expressão de caractere.

sql_json_path

Um caminho SQL/JSON válido a ser testado na entrada.

Valor retornado

Retorna um valor int de 1 ou 0 ou .NULL Retornará NULL se value_expression ou a entrada for um valor NULL SQL. 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.

Exemplos

Exemplo 1

O exemplo a seguir retorna 1, pois a cadeia de caracteres JSON de entrada 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.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