Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
JSONLENGTHFunktion ARRAY _ _
Anmerkung
JSON_ PARSE und die zugehörigen Funktionen analysieren JSON Werte alsSUPER, was Amazon Redshift effizienter analysiert als. VARCHAR
Anstatt JSON _ ARRAY _ zu verwenden, empfehlen wirLENGTH, dass Sie Ihre JSON Zeichenketten mit dem analysieren, um einen Wert JSONPARSEFunktion _ zu erhalten. SUPER Verwenden Sie dann den, get_array_length-Funktion um die Länge Ihres Arrays zu ermitteln.
Die LENGTH Funktion JSON ARRAY _ _ gibt die Anzahl der Elemente im äußeren Array einer JSON Zeichenfolge zurück. Wenn das Argument null_if_invalid auf gesetzt ist true
und die JSON Zeichenfolge ungültig ist, gibt die Funktion einen Fehler zurück, NULL
anstatt einen Fehler zurückzugeben.
Weitere Informationen finden Sie unter JSONFunktionen.
Syntax
JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] )
Argumente
- json_array
-
Ein richtig formatiertes Array. JSON
- null_if_invalid
-
(Optional) Ein
BOOLEAN
Wert, der angibt, ob zurückgegeben werden soll,NULL
wenn die JSON Eingabezeichenfolge ungültig ist, anstatt einen Fehler zurückzugeben. Um zurückzugebenNULL
, wenn der ungültig JSON ist, geben Sietrue
(t
) an. Um einen Fehler zurückzugeben, falls der ungültig JSON ist, geben Siefalse
(f
) an. 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 der ungültig JSON 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 dann zurückgibtJSON, NULL
anstatt einen Fehler für ungültig zurückzugeben.
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14',true);
+-------------------+ | json_array_length | +-------------------+ | NULL | +-------------------+