JSONFunzione _ ARRAY _ LENGTH - Amazon Redshift

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à.

JSONFunzione _ ARRAY _ LENGTH

Nota

JSON_ PARSE e le funzioni associate analizzano JSON i valori comeSUPER, cosa che Amazon Redshift analizza in modo più efficiente di. VARCHAR

Invece di usare JSON _ ARRAY _LENGTH, ti consigliamo di analizzare le JSON stringhe usando per ottenere un valore. JSONPARSEfunzione _ SUPER Quindi, usa il Funzione get_array_length per ottenere la lunghezza del tuo array.

La LENGTH funzione JSON ARRAY _ _ restituisce il numero di elementi nell'array esterno di una JSON stringa. Se l'argomento null_if_invalid è impostato su true e la JSON stringa non è valida, la funzione restituisce invece di restituire un errore. NULL

Per ulteriori informazioni, consulta JSONfunzioni.

Sintassi

JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] )

Argomenti

json_array

Un JSON array formattato correttamente.

null_if_invalid

(Facoltativo) Un BOOLEAN valore che specifica se restituire NULL se la JSON stringa di input non è valida anziché restituire un errore. Per restituire NULL se non JSON è valido, specificare true (). t Per restituire un errore se non JSON è 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 perché non JSON è valido, utilizzate 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 per invalid, utilizzate l'esempio seguente. JSON

SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14',true); +-------------------+ | json_array_length | +-------------------+ | NULL | +-------------------+