Partilhar via


JSON_PATH_EXISTS (Transact-SQL)

Aplica-se a: SQL Server 2022 (16.x) Banco de Dados SQL do AzureInstância Gerenciada SQL do Azureponto de extremidade do Azure Synapse AnalyticsSQL Analytics no Microsoft FabricWarehouse no Microsoft Fabric

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

Transact-SQL convenções de sintaxe

Sintaxe

JSON_PATH_EXISTS( value_expression , sql_json_path )

Argumentos

value_expression

Uma expressão de caráter.

sql_json_path

Um caminho SQL/JSON válido para testar na entrada.

Valor de retorno

Devolve um valor int de 1 ou 0 ou NULL. Retorna NULL se a value_expression ou entrada for um valor de NULL SQL. Retorna 1 se o caminho SQL/JSON fornecido existe na entrada ou retorna 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, pois 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