Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2016 (13.x) a novější verze
koncového bodu Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
v Microsoft Fabric
Warehouse v databázi Microsoft Fabric
SQL v Microsoft Fabric
Syntaxe ISJSON testuje, jestli řetězec obsahuje platný json.
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
Řetězec, který se má testovat.
json_type_constraint
Určuje typ JSON, který se má vrátit se změnami vstupu. Platné hodnoty jsou VALUE, , ARRAYOBJECTnebo SCALAR. Představeno v SYSTÉMU SQL Server 2022 (16.x).
Note
Argument json_type_constraint se ve vyhrazených fondech Azure Synapse Analytics nepodporuje.
Návratová hodnota
Vrátí 1 , pokud řetězec obsahuje platný kód JSON; v opačném případě vrátí 0hodnotu . Vrátí NULLhodnotu null výrazu .
Pokud příkaz vynechá json_type_constraint, funkce testuje, jestli je vstup platným objektem nebo polem JSON a vrátí se jinak, vrátí 10.
Pokud je zadán json_type_constraint , funkce zkontroluje typ JSON následujícím způsobem:
| Value | Description |
|---|---|
VALUE |
Testuje platnou hodnotu JSON. Může se jednat o objekt JSON, pole, číslo, řetězec nebo jednu ze tří hodnot literálů (false, true, null). |
ARRAY |
Testy platného pole JSON |
OBJECT |
Testy pro platný objekt JSON |
SCALAR |
Testuje platnou skaláru JSON – číslo nebo řetězec. |
Hodnota testuje SCALAR JSON dokument, který obsahuje pouze JSON skalární hodnotu na nejvyšší úrovni. IETF RFC 8259 umožňuje jakoukoli hodnotu JSON na nejvyšší úrovni, proto použijte VALUE k testování JSON dokumentu kompatibilního s IETF RFC 8259. IETF RFC 4627 povoluje pouze objekt nebo pole JSON na nejvyšší úrovni.
Nevrací chyby.
Remarks
ISJSON nekontroluje jedinečnost klíčů na stejné úrovni.
Examples
Příklad 1
Následující příklad spustí blok příkazu podmíněně, pokud hodnota @param parametru obsahuje platný json.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Příklad 2
Následující příklad vrátí řádky, ve kterých sloupec json_col obsahuje platný JSON.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Příklad 3
Následující příklad vrátí řádky, ve kterých sloupec json_col obsahuje platnou hodnotu JSON SCALAR na nejvyšší úrovni.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Příklad 4
Následující příklad vrátí hodnotu 1, protože vstup je platná hodnota JSON – true.
SELECT ISJSON('true', VALUE)
Příklad 5
Následující příklad vrátí hodnotu 0, protože vstup je neplatná hodnota JSON.
SELECT ISJSON('test string', VALUE)
Příklad 6
Následující příklad vrátí hodnotu 1, protože vstup je platným skalárem JSON podle dokumentu RFC 8259.
SELECT ISJSON('"test string"', SCALAR)