Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à : SQL Server 2016 (13.x) et versions
ultérieures d’Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics SQL Analytics
dans Microsoft Fabric
Warehouse dans microsoft Fabric
SQL Database dans Microsoft Fabric SQL Database dans Microsoft Fabric
La ISJSON syntaxe teste si une chaîne contient un JSON valide.
Conventions de la syntaxe Transact-SQL
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
Chaîne à tester.
json_type_constraint
Spécifie le type JSON à vérifier dans l’entrée. Les valeurs valides sont VALUE, ARRAY, OBJECT ou SCALAR. Introduite dans SQL Server 2022 (16.x).
Note
L’argument json_type_constraint n’est pas pris en charge dans les pools dédiés Azure Synapse Analytics
Valeur retournée
Renvoie 1 si la chaîne contient des données JSON valides ; sinon, renvoie 0. Retourne NULL si l’expression est null.
Si l’instruction omet json_type_constraint, la fonction teste si l’entrée est un objet ou un tableau JSON valide et retourne 1 sinon, elle retourne 0.
Si le json_type_constraint est spécifié, la fonction recherche le type JSON comme suit :
| Value | Description |
|---|---|
VALUE |
Teste une valeur JSON valide. Il peut s’agir d’un objet, d’un tableau, d’un numéro, d’une chaîne JSON ou d’une des trois valeurs littérales (false, true, null) |
ARRAY |
Teste un tableau JSON valide |
OBJECT |
Teste un objet JSON valide |
SCALAR |
Teste un scalaire JSON valide – numéro ou chaîne |
La valeur json_type_constraint SCALAR peut être utilisée pour tester le document JSON conforme à IETF RFC 8259 qui contient uniquement une valeur scalaire JSON au niveau supérieur. Un document JSON qui ne contient pas de valeur scalaire JSON au niveau supérieur conforme à IETF RFC 4627.
Ne renvoie pas d’erreurs.
Remarks
ISJSON ne vérifie pas l’unicité des clés au même niveau.
Examples
Exemple 1
L’exemple suivant exécute un bloc d’instructions de manière conditionnelle si la valeur de paramètre @param contient des données JSON valides.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Exemple 2
L’exemple suivant retourne des lignes dans lesquelles la colonne json_col contient un JSON valide.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Exemple 3
L’exemple suivant retourne des lignes dans lesquelles la colonne json_col contient une valeur SCALAR JSON valide au niveau supérieur.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Exemple 4
L’exemple suivant retourne 1, car l’entrée est une valeur JSON valide - true.
SELECT ISJSON('true', VALUE)
Exemple 5
L’exemple suivant retourne 0, car l’entrée est une valeur JSON non valide.
SELECT ISJSON('test string', VALUE)
Exemple 6
L’exemple suivant retourne 1, car l’entrée est une valeur scalaire JSON valide, conformément au RFC 8259.
SELECT ISJSON('"test string"', SCALAR)