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