Renvoie un tableau contenant les éléments spécifiés par des expressions.
Syntaxe
sequence(start, stop, [step])
Paramètres
-
start : expression représentant le début d'une séquence d'éléments. La séquence inclut start.
start et stop acceptent les types entiers suivants : TINYINT, SMALLINT, INT et BIGINT. Ces types correspondent aux types pris en charge par step : TINYINT, SMALLINT, INT et BIGINT.
start et stop acceptent les types date et heure suivants : DATE, DATETIME et TIMESTAMP. Ces types correspondent aux types IntervalDayTime ou IntervalYearMonth pris en charge par step.
stop : expression représentant la fin d'une séquence d'éléments. La séquence inclut stop.
-
step : facultatif. Pas de la séquence d'éléments.
Par défaut, si la valeur de start est inférieure ou égale à celle de stop, le pas (step) vaut 1. Si la valeur de start est supérieure à celle de stop, le pas vaut -1.
Pour les séquences temporelles, le pas par défaut est de 1 ou -1 jour. Lors de la configuration de step, respectez les règles suivantes : si la valeur de start est supérieure à celle de stop, définissez step sur une valeur négative ; si la valeur de start est inférieure ou égale à celle de stop, définissez step sur une valeur positive. Le non-respect de ces conditions entraîne une erreur.
Valeur de retour
Renvoie un tableau contenant les éléments spécifiés par des expressions.
Une erreur se produit si la valeur de start est supérieure à celle de stop alors que step est positif, ou si la valeur de start est inférieure ou égale à celle de stop alors que step est négatif.
Par défaut, la fonction SEQUENCE génère au maximum 10 000 éléments. Configurez le paramètre
odps.sql.max.sequence.lengthpour modifier cette limite.
Exemples
-
SELECT sequence(1, 5);Résultat :
[1, 2, 3, 4, 5] -
SELECT sequence(5, 1);Résultat :
[5, 4, 3, 2, 1] -
SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month);Résultat :
[2018-01-01, 2018-02-01, 2018-03-01]
Fonctions associées
SEQUENCE est une fonction de type complexe. Pour plus d'informations sur les fonctions de traitement des types complexes (ARRAY, MAP, STRUCT, JSON), consultez Fonctions de type complexe.