Compartir a través de


JSON_PATH_EXISTS (Transact-SQL)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento de Microsoft Fabric

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