Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2022 (16.x) a nowše verzie
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
Syntaxe JSON_PATH_EXISTS testuje, jestli v vstupním řetězci JSON existuje zadaná cesta SQL/JSON.
Syntax
JSON_PATH_EXISTS( value_expression , sql_json_path )
Arguments
value_expression
Výraz znaku.
sql_json_path
Platná cesta SQL/JSON, která se má testovat ve vstupu.
Návratová hodnota
Vrátí hodnotu typu int 1 nebo 0 nebo NULL. Vrátí NULL , pokud value_expression nebo vstup je hodnota SQL NULL . Vrátí 1, pokud daná cesta SQL/JSON existuje ve vstupu nebo vrátí neprázdnou sekvenci. Vrátí 0 jinak.
Funkce JSON_PATH_EXISTS nevrací chyby.
Examples
Příklad 1
Následující příklad vrátí hodnotu 1, protože vstupní řetězec JSON obsahuje zadanou cestu SQL/JSON. V tomto příkladu se používá vnořená cesta, ve které je klíč přítomen v jiném objektu.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address');
Tady je sada výsledků.
1
Příklad 2
Následující příklad vrátí hodnotu 0, protože vstupní řetězec JSON neobsahuje zadanou cestu SQL/JSON.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');
Tady je sada výsledků.
0
Příklad 3
Následující příklad používá JSON_PATH_EXISTS() se zástupným znakem:
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1
Tady je sada výsledků.
1
Následující příkaz hledá alespoň jeden prvek v poli má objekt s klíčem towna najde ho.
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")
Tady je sada výsledků.
1
Následující příkaz hledá alespoň jeden prvek v poli má objekt s klíčem town, ale nenajde žádné.
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")
Tady je sada výsledků.
0