- 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 pas- 5).- 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 de- step(selon que- stepest 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.
- stepest un nombre positif et- start > stop.
- stepest un nombre négatif et- start < 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                              |
| ]                                  |
+------------------------------------+