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> ] )
Copy

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 step 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 et start > stop.

    • step est 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);
Copy
+----------------------------+
| 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);
Copy
+---------------------------------+
| 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);
Copy
+------------------------------------+
| ARRAY_GENERATE_RANGE(-5, -25, -10) |
|------------------------------------|
| [                                  |
|   -5,                              |
|   -15                              |
| ]                                  |
+------------------------------------+