Freigeben über


JSON_PATH_EXISTS (Transact-SQL)

Gilt für: SQL Server 2022 (16.x) Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Ü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 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