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 FehlersNULLzurückgegeben wird, wenn die JSON-Eingabezeichenfolge ungültig ist. Geben Sietrue(t) an, damitNULLzurückgegeben wird, wenn die JSON-Eingabezeichenfolge ungültig ist. Geben Siefalse(f) an, damit ein Fehler zurückgegeben wird, wenn die JSON-Eingabezeichenfolge ungültig ist. Der Standardwert istfalse.
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 | +-------------------+