- Catégories :
Fonctions de données semi-structurées et structurées (tableau/objet)
ARRAY_GENERATE_RANGE¶
Renvoie un ARRAY de valeurs entiÚres comprises dans un intervalle spécifié (par exemple [2, 3, 4]
).
Syntaxe¶
ARRAY_GENERATE_RANGE( <start> , <stop> [ , <step> ] )
Arguments¶
Obligatoire :
start
Le premier nombre de la plage de nombres Ă renvoyer.
Vous devez spécifier une expression qui donne une valeur INTEGER.
stop
Le dernier nombre de la plage. Notez que ce nombre nâest pas inclus dans la plage de nombres renvoyĂ©s.
Par exemple,
ARRAY_GENERATE_RANGE(1, 5)
renvoie[1, 2, 3, 4]
(qui nâinclut pas5
).Vous devez spécifier une expression qui donne une valeur INTEGER.
Facultatif :
step
Le montant à incrémenter ou décrémenter pour chaque nombre suivant dans le tableau. Par exemple :
ARRAY_GENERATE_RANGE(0, 16, 5)
renvoie[0, 5, 10, 15]
ARRAY_GENERATE_RANGE(0, -16, -5)
renvoie[0, -5, -10, -15]
Vous pouvez spécifier un nombre positif ou négatif. Vous ne pouvez pas spécifier 0.
La valeur par défaut est
1
.
Renvoie¶
Un ARRAY dâentiers dans lâintervalle spĂ©cifiĂ©.
Si lâun des arguments est NULL, la fonction renvoie NULL.
Notes sur lâutilisation¶
AprĂšs
start
, chaque élément suivant augmente ou diminue destep
(selon questep
est positif ou nĂ©gatif) jusquâĂstop
(non compris).Par exemple :
ARRAY_GENERATE_RANGE(10, 50, 10)
renvoie[10, 20, 30, 40]
.ARRAY_GENERATE_RANGE(-10, -50, -10)
renvoie[-10, -20, -30, -40]
.
La fonction renvoie un ARRAY vide dans lâune des conditions suivantes :
start = stop
.step
est un nombre positif etstart > stop
.step
est un nombre négatif etstart < stop
.
Par exemple :
ARRAY_GENERATE_RANGE(2, 2, 4)
renvoie[]
.ARRAY_GENERATE_RANGE(8, 2, 2)
renvoie[]
.ARRAY_GENERATE_RANGE(2, 8, -2)
renvoie[]
.
Exemples¶
Lâexemple suivant renvoie un ARRAY contenant une plage de nombres commençant par 2 et se terminant avant 5 :
SELECT ARRAY_GENERATE_RANGE(2, 5);
+----------------------------+
| ARRAY_GENERATE_RANGE(2, 5) |
|----------------------------|
| [ |
| 2, |
| 3, |
| 4 |
| ] |
+----------------------------+
Lâexemple suivant renvoie un ARRAY contenant une plage de nombres commençant par 5 et se terminant avant 25, dont la valeur augmente de 10 :
SELECT ARRAY_GENERATE_RANGE(5, 25, 10);
+---------------------------------+
| ARRAY_GENERATE_RANGE(5, 25, 10) |
|---------------------------------|
| [ |
| 5, |
| 15 |
| ] |
+---------------------------------+
Lâexemple suivant renvoie un ARRAY contenant une plage de nombres commençant par -5 et se terminant avant -25, avec une valeur dĂ©croissante de -10 :
SELECT ARRAY_GENERATE_RANGE(-5, -25, -10);
+------------------------------------+
| ARRAY_GENERATE_RANGE(-5, -25, -10) |
|------------------------------------|
| [ |
| -5, |
| -15 |
| ] |
+------------------------------------+