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