Compartilhar via


JSON_PATH_EXISTS (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e posterior Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Ponto de extremidade de análises SQL no Microsoft Fabric Warehouse 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 NVARCHAR(MAX)

SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.address'); -- 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 NVARCHAR(MAX)

SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.addresses'); -- 0