Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzione JSON_ARRAY_LENGTH
Nota
JSON_PARSE e le funzioni associate analizzano i valori JSON come SUPER, che Amazon Redshift analizza in modo più efficiente di VARCHAR.
Invece di utilizzare JSON_ARRAY_LENGTH, consigliamo di analizzare le stringhe JSON utilizzando Funzione JSON_PARSE per ottenere un valore SUPER. Quindi utilizza Funzione get_array_length per ottenere la lunghezza dell’array.
La funzione JSON_ARRAY_LENGTH restituisce il numero di elementi nell'array esterno di una stringa JSON. Se l'argomento null_if_invalid è impostato su true e la stringa JSON non è valida, la funzione restituisce NULL invece di restituire un errore.
Per ulteriori informazioni, consulta Funzioni JSON.
Sintassi
JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] )
Arguments (Argomenti)
- json_array
-
Un array JSON correttamente formattato.
- null_if_invalid
-
(Facoltativo) Un valore
BOOLEANche specifica se restituireNULLse la stringa JSON di input non è valida, invece di restituire un errore. Per restituireNULLse JSON non è valido, specificatrue(t). Per restituire un errore se JSON non è valido, specificarefalse(f). Il valore predefinito èfalse.
Tipo restituito
INTEGER
Esempi
Per restituire il numero di elementi nell'array, utilizza l'esempio seguente.
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14]');+-------------------+ | json_array_length | +-------------------+ | 5 | +-------------------+
Per restituire un errore poiché JSON non è valido, utilizza l'esempio seguente.
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14');ERROR: invalid json array object [11,12,13,{"f1":21,"f2":[25,26]},14
Per impostare null_if_invalid su true, in modo che l'istruzione restituisca NULL invece di restituire un errore di formato JSON non valido, utilizza l'esempio seguente.
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14',true);+-------------------+ | json_array_length | +-------------------+ | NULL | +-------------------+