Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Giriş JSON dizesinde belirtilen bir SQL/JSON yolunun mevcut olup olmadığını test eder.
Transact-SQL söz dizimi kuralları
Sözdizimi
JSON_PATH_EXISTS( value_expression , sql_json_path )
Bağımsız değişken
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 NULL
int değerini döndürür.
NULL
veya giriş bir SQL değeriyse NULL
döndürür. 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.
Örnekler
Ö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ı town
olan 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 town
sahip 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
İlgili içerik
- SQL Server'da JSON verilerini