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 2022 (16.x)
database SQL di Azure
Istanza gestita di SQL di Azure
endpoint di analisi SQL di Azure Synapse
sql in Microsoft Fabric
Warehouse in Microsoft Fabric
Verifica se esiste un percorso SQL/JSON specificato nella stringa JSON di input.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
JSON_PATH_EXISTS( value_expression , sql_json_path )
Argomenti
value_expression
Espressione di carattere.
sql_json_path
Percorso SQL/JSON valido da testare nell'input.
Valore restituito
Restituisce un valore int di 1
o 0
o NULL
. Restituisce NULL
se value_expression o l'input è un valore SQL NULL
. Restituire 1
se il percorso SQL/JSON specificato esiste nell'input o restituisce una sequenza non vuota. In caso contrario restituisce 0
.
La funzione JSON_PATH_EXISTS
non restituisce errori.
Esempi
Esempio 1
Nell'esempio seguente viene restituito 1 poiché la stringa JSON di input contiene il percorso SQL/JSON specificato. In questo esempio viene utilizzato un percorso annidato in cui la chiave è presente in un altro oggetto .
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address');
Ecco il set di risultati.
1
Esempio 2
L'esempio seguente restituisce 0 poiché la stringa JSON di input non contiene il percorso SQL/JSON specificato.
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');
Ecco il set di risultati.
0
Esempio 3
Nell'esempio seguente viene JSON_PATH_EXISTS()
usato con un carattere jolly:
DECLARE @jsonInfo AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1
Ecco il set di risultati.
1
Di seguito viene cercato almeno un elemento nella matrice con un oggetto con chiave town
e ne trova uno.
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"city":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 1 (at least one element in array has an object with key "town")
Ecco il set di risultati.
1
Di seguito viene cercato almeno un elemento nella matrice con un oggetto con chiave town
, ma non trova nessuno.
SET @jsonInfo = N'{"info":{"address":[{"city":"Paris"},{"city":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address[*].town'); -- Returns: 0 (no elements in array has an object with key "town")
Ecco il set di risultati.
0