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