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