JSONLENGTHFunktion ARRAY _ _ - Amazon Redshift

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 Sie true (t) an. Um einen Fehler zurückzugeben, falls der ungültig JSON ist, geben Sie false (f) an. 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 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 | +-------------------+