Funzione JSON_ARRAY_LENGTH - Amazon Redshift

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 BOOLEAN che specifica se restituire NULL se la stringa JSON di input non è valida, invece di restituire un errore. Per restituire NULL se JSON non è valido, specifica true (t). Per restituire un errore se JSON non è valido, specificare false (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 | +-------------------+