Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2022 (16.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Database i Förhandsversion av 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.
Return value
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
Example 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
Example 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
Example 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