Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für: SQL Server 2022 (16.x) und spätere versioner
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
Die JSON_PATH_EXISTS Syntax testet, ob ein angegebener SQL/JSON-Pfad in der JSON-Eingabezeichenfolge vorhanden ist.
Transact-SQL-Syntaxkonventionen
Syntax
JSON_PATH_EXISTS( value_expression , sql_json_path )
Arguments
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 zurück NULL , wenn der value_expression oder die Eingabe ein SQL-Wert NULL 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.
Examples
Beispiel 1
Im folgenden Beispiel wird 1 zurückgegeben, da die JSON-Eingabezeichenfolge den angegebenen SQL-/JSON-Pfad enthält. In diesem Beispiel wird ein geschachtelter Pfad verwendet, in dem der Schlüssel in einem anderen Objekt vorhanden ist.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address');
Hier sehen Sie das Resultset.
1
Beispiel 2
Im folgenden Beispiel wird 0 zurückgegeben, da die JSON-Eingabezeichenfolge den angegebenen SQL-/JSON-Pfad nicht enthält.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');
Hier sehen Sie das Resultset.
0
Beispiel 3
Im folgenden Beispiel wird ein Wildcard verwendet JSON_PATH_EXISTS() :
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1
Hier sehen Sie das Resultset.
1
Im Folgenden wird nach mindestens einem Element im Array gesucht, das über ein Objekt mit Schlüssel townverfügt und eines findet.
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"city":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1 (at least one element in array has an object with key "town")
Hier sehen Sie das Resultset.
1
Im Folgenden wird nach mindestens einem Element im Array gesucht, das über ein Objekt mit Schlüssel townverfügt, aber keine findet.
SET @jsonInfo = N'{"info":{"address":[{"city":"Paris"},{"city":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 0 (no elements in array has an object with key "town")
Hier sehen Sie das Resultset.
0