Dela via


JSON_PATH_EXISTS (Transact-SQL)

gäller för: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-analysslutpunkt i Microsoft FabricWarehouse i Microsoft Fabric

Testar om det finns en angiven SQL/JSON-sökväg i JSON-indatasträngen.

Transact-SQL syntaxkonventioner

Syntax

JSON_PATH_EXISTS( value_expression , sql_json_path )

Argument

value_expression

Ett teckenuttryck.

sql_json_path

En giltig SQL/JSON-sökväg som ska testas i indata.

Returvärde

Returnerar ett int-värde för 1 eller 0 eller NULL. Returnerar NULL om value_expression eller indata är ett SQL-NULL värde. Returnerar 1 om den angivna SQL/JSON-sökvägen finns i indata eller returnerar en icke-tom sekvens. Returnerar 0 annars.

Funktionen JSON_PATH_EXISTS returnerar inte fel.

Exempel

Exempel 1

Följande exempel returnerar 1 eftersom JSON-indatasträngen innehåller den angivna SQL/JSON-sökvägen. I det här exemplet används en kapslad sökväg där nyckeln finns i ett annat objekt.

DECLARE @jsonInfo AS NVARCHAR (MAX);

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

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

Här är resultatuppsättningen.

1

Exempel 2

Följande exempel returnerar 0 eftersom JSON-indatasträngen inte innehåller den angivna SQL/JSON-sökvägen.

DECLARE @jsonInfo AS NVARCHAR (MAX);

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

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

Här är resultatuppsättningen.

0