Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für: SQL Server 2016 (13.x) und höhere Versionen
von Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics SQL Analytics-Endpunkt
in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric SQL-Datenbank in Microsoft Fabric
Die ISJSON Syntax testet, ob eine Zeichenfolge gültige JSON enthält.
Transact-SQL-Syntaxkonventionen
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
Die zu testende Zeichenfolge.
json_type_constraint
Gibt den JSON-Typ an, der in der Eingabe überprüft werden soll. Gültige Werte sind VALUE, ARRAY, OBJECT oder SCALAR. Wurde in SQL Server 2022 (16.x) eingeführt.
Note
Das Argument json_type_constraint wird in dedizierten Azure Synapse Analytics-Pools nicht unterstützt.
Rückgabewert
Gibt 1 zurück, wenn die Zeichenfolge gültiges JSON enthält. Andernfalls wird 0 zurückgegeben. Gibt zurück NULL , wenn der Ausdruck null ist.
Wenn die Anweisung json_type_constraint ausgelassen wird, prüft die Funktion, ob die Eingabe ein gültiges JSON-Objekt oder Array ist und andernfalls zurückgegeben 1 wird 0.
Wenn die json_type_constraint angegeben wird, sucht die Funktion wie folgt nach dem JSON-Typ:
| Value | Description |
|---|---|
VALUE |
Prüft auf einen gültigen JSON-Wert. Dies kann ein JSON-Objekt, ein Array, eine Zahl, eine Zeichenfolge oder einer der drei Literalwerte (FALSE, TRUE, NULL) sein. |
ARRAY |
Prüft auf ein gültiges JSON-Array. |
OBJECT |
Prüft auf ein gültiges JSON-Objekt. |
SCALAR |
Prüft auf einen gültigen JSON-Skalar – Zahl oder Zeichenfolge. |
Der json_type_constraint Wert SCALAR kann zum Testen des IETF RFC 8259-konformen JSON-Dokuments verwendet werden, das nur einen JSON-Skalarwert auf oberster Ebene enthält. Ein JSON-Dokument, das keinen JSON-Skalarwert auf oberster Ebene enthält, entspricht IETF RFC 4627.
Gibt keine Fehler zurück.
Remarks
ISJSON überprüft nicht die Eindeutigkeit der Schlüssel auf derselben Ebene.
Examples
Beispiel 1
Im folgenden Beispiel wird ein Anweisungsblock bedingt ausgeführt, wenn der Parameterwert @param gültiges JSON enthält.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Beispiel 2
Im folgenden Beispiel werden die Spalten zurückgegeben, falls die Spalte json_col ein gültiges JSON enthält.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Beispiel 3
Im folgenden Beispiel werden Zeilen zurückgegeben, in denen die Spalte json_col einen gültigen JSON-SCALAR-Wert auf oberster Ebene enthält.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Beispiel 4
Im folgenden Beispiel wird 1 zurückgegeben, da die Eingabe ein gültiger JSON-Wert ist – true.
SELECT ISJSON('true', VALUE)
Beispiel 5
Im folgenden Beispiel wird 0 zurückgegeben, da es sich bei der Eingabe um einen ungültigen JSON-Wert handelt.
SELECT ISJSON('test string', VALUE)
Beispiel 6
Im folgenden Beispiel wird 1 zurückgegeben, da es sich bei der Eingabe um einen gültigen JSON-Skalarwert gemäß RFC 8259 handelt.
SELECT ISJSON('"test string"', SCALAR)