Partilhar via


JSON_PATH_EXISTS (Transact-SQL)

Aplica-se a: SQL Server 2022 (16.x) Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

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