- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)
ARRAY_GENERATE_RANGE¶
Gibt ein ARRAY mit Ganzzahl-Werten eines bestimmten Bereichs zurück (z. B. [2, 3, 4]).
Syntax¶
ARRAY_GENERATE_RANGE( <start> , <stop> [ , <step> ] )
Argumente¶
Erforderlich:
startDie erste Zahl im Bereich, die zurückgegeben werden soll.
Sie müssen einen Ausdruck angeben, der einen INTEGER-Wert ergibt.
stopDie letzte Zahl im Bereich. Beachten Sie, dass diese Zahl nicht in dem Bereich der zurückgegebenen Zahlen enthalten ist.
Beispiel:
ARRAY_GENERATE_RANGE(1, 5)gibt[1, 2, 3, 4]zurück (was5nicht einschließt).Sie müssen einen Ausdruck angeben, der einen INTEGER-Wert ergibt.
Optional:
stepDer Betrag, um den jede nachfolgende Zahl im Array erhöht oder verringert wird. Beispiel:
ARRAY_GENERATE_RANGE(0, 16, 5)gibt[0, 5, 10, 15]zurück.ARRAY_GENERATE_RANGE(0, -16, -5)gibt[0, -5, -10, -15]zurück.
Sie können eine positive oder negative Zahl angeben. Sie können nicht 0 angeben.
Der Standardwert ist
1.
Rückgabewerte¶
Ein ARRAY von Ganzzahlen im angegebenen Bereich.
Wenn eines der Argumente NULL ist, gibt die Funktion NULL zurück.
Nutzungshinweise¶
Nach
starterhöht oder verringert sich jedes nachfolgende Element um den Schrittwertstep(je nachdem, obsteppositiv oder negativ ist) bis zum Endwertstop(aber nicht einschließlich).Beispiel:
ARRAY_GENERATE_RANGE(10, 50, 10)gibt[10, 20, 30, 40]zurück.ARRAY_GENERATE_RANGE(-10, -50, -10)gibt[-10, -20, -30, -40]zurück.
Die Funktion gibt unter einer der folgenden Bedingungen einen leeren ARRAY zurück:
start = stop.stepist eine positive Zahl undstart > stop.stepist eine negative Zahl undstart < stop.
Beispiel:
ARRAY_GENERATE_RANGE(2, 2, 4)gibt[]zurück.ARRAY_GENERATE_RANGE(8, 2, 2)gibt[]zurück.ARRAY_GENERATE_RANGE(2, 8, -2)gibt[]zurück.
Beispiele¶
Das folgende Beispiel gibt ein ARRAY zurück, das einen Zahlenbereich enthält, der mit 2 beginnt und vor 5 endet:
SELECT ARRAY_GENERATE_RANGE(2, 5);
+----------------------------+
| ARRAY_GENERATE_RANGE(2, 5) |
|----------------------------|
| [ |
| 2, |
| 3, |
| 4 |
| ] |
+----------------------------+
Das folgende Beispiel gibt ein ARRAY zurück, das einen Zahlenbereich enthält, der mit 5 beginnt und vor 25 endet und dessen Wert sich um 10 erhöht:
SELECT ARRAY_GENERATE_RANGE(5, 25, 10);
+---------------------------------+
| ARRAY_GENERATE_RANGE(5, 25, 10) |
|---------------------------------|
| [ |
| 5, |
| 15 |
| ] |
+---------------------------------+
Das folgende Beispiel gibt ein ARRAY zurück, das einen Zahlenbereich enthält, der mit -5 beginnt und vor -25 endet und dessen Wert sich um -10 verringert:
SELECT ARRAY_GENERATE_RANGE(-5, -25, -10);
+------------------------------------+
| ARRAY_GENERATE_RANGE(-5, -25, -10) |
|------------------------------------|
| [ |
| -5, |
| -15 |
| ] |
+------------------------------------+