Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
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 ] )
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 | +-------------------+