Die Funktion JSON_ARRAY_LENGTH - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Die Funktion JSON_ARRAY_LENGTH

Anmerkung

JSON_PARSE und die zugehörigen Funktionen analysieren JSON-Werte als SUPER, was Amazon Redshift effizienter analysiert als VARCHAR.

Anstatt JSON_ARRAY_LENGTH zu verwenden, empfehlen wir Ihnen, Ihre JSON-Zeichenketten mit Funktion JSON_PARSE zu analysieren, um einen SUPER-Wert zu erhalten. Verwenden Sie dann get_array_length-Funktion, um die Länge Ihres Arrays zu ermitteln.

Die Funktion JSON_ARRAY_LENGTH gibt die Anzahl von Elementen im äußeren Array einer JSON-Zeichenfolge zurück. Wenn das Argument null_if_invalid auf true gesetzt und die JSON-Zeichenfolge ungültig ist, gibt die Funktion anstatt eines Fehlers NULL zurück.

Weitere Informationen finden Sie unter JSON-Funktionen.

Syntax

JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] )

Argumente

json_array

Ein korrekt formatiertes JSON-Array.

null_if_invalid

(Optional) Ein BOOLEAN-Wert, der angibt, ob anstatt eines Fehlers NULL zurückgegeben wird, wenn die JSON-Eingabezeichenfolge ungültig ist. Geben Sie true (t) an, damit NULL zurückgegeben wird, wenn die JSON-Eingabezeichenfolge ungültig ist. Geben Sie false (f) an, damit ein Fehler zurückgegeben wird, wenn die JSON-Eingabezeichenfolge ungültig ist. Der Standardwert ist false.

Rückgabetyp

INTEGER

Beispiele

Verwenden Sie das folgende Beispiel, um die Anzahl der Elemente im Array zurückzugeben.

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

Verwenden Sie das folgende Beispiel, um einen Fehler zurückzugeben, weil die JSON-Eingabezeichenfolge ungültig ist.

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

Verwenden Sie das folgende Beispiel, um null_if_invalid auf true zu setzen, sodass die Anweisung anstatt eines Fehlers NULL zurückgibt, wenn die JSON-Eingabezeichenfolge ungültig ist.

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