- 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:
start
Die erste Zahl im Bereich, die zurückgegeben werden soll.
Sie müssen einen Ausdruck angeben, der einen INTEGER-Wert ergibt.
stop
Die 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 (was5
nicht einschließt).Sie müssen einen Ausdruck angeben, der einen INTEGER-Wert ergibt.
Optional:
step
Der 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
start
erhöht oder verringert sich jedes nachfolgende Element um den Schrittwertstep
(je nachdem, obstep
positiv 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
.step
ist eine positive Zahl undstart > stop
.step
ist 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 |
| ] |
+------------------------------------+