Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för: SQL Server 2022 (16.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
Syntaxen JSON_PATH_EXISTS testar om en angiven SQL/JSON-sökväg finns i JSON-indatasträngen.
Transact-SQL syntaxkonventioner
Syntax
JSON_PATH_EXISTS( value_expression , sql_json_path )
Arguments
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-värde NULL . 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.
Examples
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
Exempel 3
I följande exempel används JSON_PATH_EXISTS() med ett jokertecken:
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1
Här är resultatuppsättningen.
1
Följande söker efter minst ett element i matrisen har ett objekt med nyckeln townoch hittar ett.
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")
Här är resultatuppsättningen.
1
Följande söker efter minst ett element i matrisen har ett objekt med nyckeln town, men hittar inget.
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")
Här är resultatuppsättningen.
0