JSON_PATH_EXISTS (Transact-SQL)
Gilt für: SQL Server 2022 (16.x) Azure SQL-Datenbank Azure SQL Managed Instance
Überprüft, ob ein angegebener SQL-/JSON-Pfad in der JSON-Eingabezeichenfolge vorhanden ist.
Transact-SQL-Syntaxkonventionen
Syntax
JSON_PATH_EXISTS( value_expression, sql_json_path )
Argumente
value_expression
Ein Zeichenausdruck.
sql_json_path
Ein gültiger SQL-/JSON-Pfad, der in der Eingabe getestet werden soll.
Rückgabewert
Gibt einen Int-Wert von 1
oder oder 0
.NULL
Gibt NULL
zurück, wenn value_expression oder die Eingabe ein SQL-NULL
-Wert ist. Gibt 1
zurück, wenn der angegebene SQL-/JSON-Pfad in der Eingabe vorhanden ist oder eine nicht leere Sequenz zurückgibt. Gibt andernfalls 0
zurück.
Die Funktion JSON_PATH_EXISTS
gibt keine Fehler zurück.
Beispiele
Beispiel 1
Im folgenden Beispiel wird 1 zurückgegeben, da die JSON-Eingabezeichenfolge den angegebenen SQL-/JSON-Pfad enthält.
DECLARE @jsonInfo NVARCHAR(MAX)
SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.address'); -- 1
Beispiel 2
Im folgenden Beispiel wird 0 zurückgegeben, da die JSON-Eingabezeichenfolge den angegebenen SQL-/JSON-Pfad nicht enthält.
DECLARE @jsonInfo NVARCHAR(MAX)
SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.addresses'); -- 0