JSON_PATH_EXISTS (Transact-SQL)
Dotyczy: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analyticspunkt końcowy analizy SQL w usłudze Microsoft FabricWarehouse w usłudze Microsoft Fabric
Sprawdza, czy określona ścieżka SQL/JSON istnieje w wejściowym ciągu JSON.
Transact-SQL konwencje składni
Składnia
JSON_PATH_EXISTS( value_expression , sql_json_path )
Argumenty
value_expression
Wyrażenie znaku.
sql_json_path
Prawidłowa ścieżka SQL/JSON do testowania w danych wejściowych.
Wartość zwracana
Zwraca wartość int 1
lub 0
lub NULL
. Zwraca NULL
, jeśli value_expression lub dane wejściowe są wartością NULL
SQL. Zwraca 1
, jeśli dana ścieżka SQL/JSON istnieje w danych wejściowych lub zwraca niepustą sekwencję. Zwraca 0
w przeciwnym razie.
Funkcja JSON_PATH_EXISTS
nie zwraca błędów.
Przykłady
Przykład 1
Poniższy przykład zwraca wartość 1, ponieważ wejściowy ciąg JSON zawiera określoną ścieżkę SQL/JSON. W tym przykładzie użyto ścieżki zagnieżdżonej, w której klucz znajduje się w innym obiekcie.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address');
Oto zestaw wyników.
1
Przykład 2
Poniższy przykład zwraca wartość 0, ponieważ wejściowy ciąg JSON nie zawiera określonej ścieżki SQL/JSON.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');
Oto zestaw wyników.
0