Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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)