Aracılığıyla paylaş


JSON_PATH_EXISTS (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümler Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL database in Microsoft Fabric

Söz dizimi, JSON_PATH_EXISTS giriş JSON dizesinde belirtilen bir SQL/JSON yolunun olup olmadığını test eder.

Transact-SQL söz dizimi kuralları

Syntax

JSON_PATH_EXISTS( value_expression , sql_json_path )

Arguments

value_expression

Karakter ifadesi.

sql_json_path

Girişte test etmek için geçerli bir SQL/JSON yolu.

Dönüş değeri

1, 0 veya NULLint değerini döndürür. NULL veya giriş bir SQL değeriyse döndürürNULL. Verilen SQL/JSON yolu girişte varsa veya boş olmayan bir dizi döndürüyorsa 1 döndürür. Aksi takdirde 0 döndürür.

JSON_PATH_EXISTS işlevi hata döndürmez.

Examples

Örnek 1

Giriş JSON dizesi belirtilen SQL/JSON yolunu içerdiğinden aşağıdaki örnek 1 döndürür. Bu örnek, anahtarın başka bir nesnede bulunduğu iç içe yerleştirilmiş bir yol kullanır.

DECLARE @jsonInfo AS NVARCHAR (MAX);

SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address');

Sonuç kümesi aşağıdadır.

1

Örnek 2

Giriş JSON dizesi belirtilen SQL/JSON yolunu içermediğinden aşağıdaki örnek 0 döndürür.

DECLARE @jsonInfo AS NVARCHAR (MAX);

SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');

Sonuç kümesi aşağıdadır.

0

Örnek 3

Aşağıdaki örnekte joker karakter kullanılır JSON_PATH_EXISTS() :

DECLARE @jsonInfo AS NVARCHAR (MAX);

SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1

Sonuç kümesi aşağıdadır.

1

Aşağıda dizideki en az bir öğenin anahtarı townolan bir nesnesi vardır ve bir öğe bulur.

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")

Sonuç kümesi aşağıdadır.

1

Aşağıda dizideki en az bir öğenin anahtarına townsahip bir nesnesi vardır ancak hiçbiri bulunmaz.

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")

Sonuç kümesi aşağıdadır.

0
  • SQL Server'da JSON verilerini