Aracılığıyla paylaş


ISJSON (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri Azure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsSQL analiz uç noktası Microsoft Fabric'teki Microsoft FabricSQL veritabanında Microsoft Fabric'te

Söz ISJSON dizimi, bir dizenin geçerli JSON içerip içermediğini sınar.

Transact-SQL söz dizimi kuralları

Syntax

ISJSON ( expression [, json_type_constraint] )  

Arguments

expression

Test için dize.

json_type_constraint

Girişi iade etmek için JSON türünü belirtir. Geçerli değerler : VALUE, ARRAY, OBJECTveya SCALAR. SQL Server 2022(16.x) ile kullanıma sunulmuştur.

Note

json_type_constraint bağımsız değişkeni Azure Synapse Analytics Ayrılmış havuzlarında desteklenmez

Dönüş değeri

Dize geçerli JSON içeriyorsa döndürür 1 ; aksi takdirde döndürür 0. NULL null ise döndürür.

deyimi json_type_constraint atlarsa, işlev girişin geçerli bir JSON nesnesi veya dizisi olup olmadığını test eder ve 1 aksi takdirde döndürür 0.

json_type_constraint belirtilirse işlev JSON türünü aşağıdaki gibi denetler:

Value Description
VALUE Geçerli bir JSON değeri için testler. Bu bir JSON nesnesi, dizisi, sayı, dize veya üç değişmez değerden biri (false, true, null) olabilir
ARRAY Geçerli bir JSON dizisi için testler
OBJECT Geçerli bir JSON nesnesi için testler
SCALAR Geçerli bir JSON skaler için testler – sayı veya dize

SCALAR json_type_constraint değeri, en üst düzeyde yalnızca JSON skaler değeri içeren IETF RFC 8259 uyumlu JSON belgesini test etmek için kullanılabilir. En üst düzeyde JSON skaler değeri içermeyen bir JSON belgesi IETF RFC 4627 ile uyumlu.

Hata döndürmez.

Remarks

ISJSON anahtarların benzersizliğini aynı düzeyde denetlemez.

Examples

Örnek 1

Aşağıdaki örnek, parametre değeri @param geçerli JSON içeriyorsa koşullu olarak bir deyim bloğu çalıştırır.

DECLARE @param <data type>
SET @param = <value>

IF (ISJSON(@param) > 0)  
BEGIN  
     -- Do something with the valid JSON value of @param.  
END

Örnek 2

Aşağıdaki örnek, sütunun json_col geçerli JSON içerdiği satırları döndürür.

SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1 

Örnek 3

Aşağıdaki örnek, sütunun json_col en üst düzeyde geçerli JSON SCALAR değeri içerdiği satırları döndürür.

SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1 

Örnek 4

Giriş geçerli bir JSON değeri olduğundan aşağıdaki örnek 1 döndürür - true.

SELECT ISJSON('true', VALUE)

Örnek 5

Giriş geçersiz bir JSON değeri olduğundan aşağıdaki örnek 0 döndürür.

SELECT ISJSON('test string', VALUE)

Örnek 6

Giriş RFC 8259'a göre geçerli bir JSON skaler olduğundan aşağıdaki örnek 1 döndürür.

SELECT ISJSON('"test string"', SCALAR)