Delen via


JSON_PATH_EXISTS (Transact-SQL)

van toepassing op: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics-eindpunt in Microsoft FabricWarehouse in Microsoft Fabric

Test of er een opgegeven SQL/JSON-pad bestaat in de JSON-invoertekenreeks.

Transact-SQL syntaxisconventies

Syntaxis

JSON_PATH_EXISTS( value_expression , sql_json_path )

Argumenten

value_expression

Een tekenexpressie.

sql_json_path

Een geldig SQL/JSON-pad om te testen in de invoer.

Retourwaarde

Retourneert een int-waarde van 1 of 0 of NULL. Retourneert NULL als de value_expression of invoer een SQL-NULL-waarde is. Retourneert 1 als het opgegeven SQL/JSON-pad bestaat in de invoer of een niet-lege reeks retourneert. Retourneert 0 anders.

De functie JSON_PATH_EXISTS retourneert geen fouten.

Voorbeelden

Voorbeeld 1

In het volgende voorbeeld wordt 1 geretourneerd omdat de JSON-invoertekenreeks het opgegeven SQL/JSON-pad bevat. In dit voorbeeld wordt een geneste pad gebruikt waarin de sleutel aanwezig is in een ander object.

DECLARE @jsonInfo AS NVARCHAR (MAX);

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

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

Dit is de resultatenset.

1

Voorbeeld 2

In het volgende voorbeeld wordt 0 geretourneerd omdat de JSON-invoertekenreeks niet het opgegeven SQL/JSON-pad bevat.

DECLARE @jsonInfo AS NVARCHAR (MAX);

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

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

Dit is de resultatenset.

0