Udostępnij za pośrednictwem


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