Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2016 (13.x) e versioni
successive di Istanza gestita di SQL di
Azure Istanza
gestita di SQL diAzure Azure Synapse Analytics
in Microsoft FabricWarehouse nel database SQL di
Microsoft Fabric
in Microsoft Fabric
La ISJSON sintassi verifica se una stringa contiene codice JSON valido.
Convenzioni relative alla sintassi Transact-SQL
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
Stringa da testare.
json_type_constraint
Specifica il tipo JSON da controllare nell'input. I valori validi sono VALUE, ARRAY, OBJECT, o SCALAR. Introdotto in SQL Server 2022 (16.x)
Note
L'argomento json_type_constraint non è supportato nei pool dedicati di Azure Synapse Analytics
Valore restituito
Restituisce 1 se la stringa include contenuto JSON valido. In caso contrario, restituisce 0. Restituisce NULL se expression è Null.
Se l'istruzione omette json_type_constraint, la funzione verifica se l'input è un oggetto JSON o una matrice valida e restituisce 1 in caso contrario, restituisce 0.
Se viene specificato il json_type_constraint , la funzione verifica la presenza del tipo JSON nel modo seguente:
| Value | Description |
|---|---|
VALUE |
Verifica un valore JSON valido. Può essere un oggetto o una matrice JSON, un numero, una stringa o uno dei tre valori letterali: false, true, null |
ARRAY |
Verifica una matrice JSON valida |
OBJECT |
Verifica un oggetto JSON valido |
SCALAR |
Verifica un operatore scalare JSON valido: numero o stringa |
Il valore json_type_constraint SCALAR può essere usato per testare il documento JSON conforme a IETF RFC 8259 che contiene solo un valore scalare JSON al livello superiore. Un documento JSON che non contiene un valore scalare JSON a livello superiore è conforme a IETF RFC 4627.
Non restituisce errori.
Remarks
ISJSON non controlla l'univocità delle chiavi allo stesso livello.
Examples
Esempio 1
L'esempio seguente esegue un blocco di istruzioni in modo condizionale se il valore del parametro @param include contenuto JSON valido.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Esempio 2
L'esempio seguente restituisce le righe in cui la colonna json_col include contenuto JSON valido.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Esempio 3
L'esempio seguente restituisce le righe in cui la colonna json_col include un valore JSON SCALAR a livello superiore.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Esempio 4
L'esempio seguente restituisce 1 perché l'input è un valore JSON valido- true.
SELECT ISJSON('true', VALUE)
Esempio 5
L'esempio seguente restituisce 0 poiché l'input è un valore JSON non valido.
SELECT ISJSON('test string', VALUE)
Esempio 6
L'esempio seguente restituisce 1 poiché l'input è un valore JSON valido in base a RFC 8259.
SELECT ISJSON('"test string"', SCALAR)