Compartir vía


JSON_PATH_EXISTS (Transact-SQL)

Se aplica a: SQL Server 2022 (16.x) Azure SQL Database Azure SQL Managed Instance

Comprueba si existe una ruta de acceso JSON o SQL especificada en la cadena JSON de entrada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

JSON_PATH_EXISTS( value_expression, sql_json_path )

Argumentos

value_expression

Una expresión de caracteres.

sql_json_path

Una ruta de acceso SQL/JSON válida que lleva a la prueba de la entrada.

Valor devuelto

Devuelve un valor int de 1 o 0 NULL. Devuelve NULL si la value_expression o la entrada es un valor NULL de SQL. Devuelve 1 si la ruta de acceso SQL/JSON especificada existe en la entrada o devuelve una secuencia no vacía. De lo contrario, devuelve 0.

La función JSON_PATH_EXISTS no devuelve errores.

Ejemplos

Ejemplo 1

En el ejemplo siguiente se devuelve 1, ya que la cadena JSON de entrada contiene la ruta de acceso SQL/JSON especificada.

DECLARE @jsonInfo NVARCHAR(MAX)

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

SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.address'); -- 1

Ejemplo 2

En el ejemplo siguiente se devuelve 0, ya que la cadena JSON de entrada no contiene la ruta de acceso SQL/JSON especificada.

DECLARE @jsonInfo NVARCHAR(MAX)

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

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