JSON_PATH_EXISTS (Transact-SQL)

S’applique à : SQL Server 2022 (16.x)base de données Azure SQL Azure SQL Managed Instance

Teste si un chemin SQL/JSON spécifié existe dans la chaîne JSON d’entrée.

Conventions de la syntaxe Transact-SQL

Syntaxe

JSON_PATH_EXISTS( value_expression, sql_json_path )

Arguments

value_expression

Expression de caractère.

sql_json_path

Chemin SQL/JSON valide à tester dans l’entrée.

Valeur retournée

Retourne une valeur int de 1 ou 0 NULL. Retourne NULL si value_expression ou l’entrée est une valeur SQL NULL. Retourne 1 si le chemin SQL/JSON donné existe dans l’entrée ou retourne une séquence non vide. Renvoie 0 dans le cas contraire.

La fonction JSON_PATH_EXISTS ne retourne pas d’erreurs.

Exemples

Exemple 1

L’exemple suivant retourne 1, car la chaîne JSON d’entrée contient le chemin SQL/JSON spécifié.

DECLARE @jsonInfo NVARCHAR(MAX)

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

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

Exemple 2

L’exemple suivant retourne 0, car la chaîne JSON d’entrée ne contient pas le chemin SQL/JSON spécifié.

DECLARE @jsonInfo NVARCHAR(MAX)

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

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