Tous les produits
Search
Centre de documentation

MaxCompute:SLICE

Dernière mise à jour :Sep 22, 2026

Copie les éléments d'un tableau à partir de la position start sur une length donnée, et renvoie ces éléments sous la forme d'un nouveau tableau.

Syntaxe

array<T> slice(array<T> <a>, <start>, <length>)

Paramètres

  • a : obligatoire. Ce paramètre spécifie un tableau. Le type T dans array<T> indique le type de données des éléments du tableau. Les éléments peuvent être de n'importe quel type de données.

  • start : obligatoire. Ce paramètre définit la position à partir de laquelle la fonction commence à copier les éléments de gauche à droite. La valeur positive minimale de ce paramètre est 1. Vous pouvez également définir le paramètre start avec une valeur négative. Dans ce cas, la position de départ est comptée à partir de la fin du tableau, mais les éléments sont toujours copiés de gauche à droite.

  • length : obligatoire. Nombre d'éléments dans le tableau renvoyé. La valeur doit être supérieure ou égale à 0. Si la valeur est supérieure à la longueur du tableau d'entrée, cette fonction renvoie un nouveau tableau composé des éléments allant de la position start jusqu'à la fin du tableau d'entrée.

Valeur de retour

Une valeur de type ARRAY est renvoyée.

Exemples

  • Exemple 1 : Copiez les éléments de array(10, 20, 20, null, null, 30) à partir de la position 1 sur une longueur de 3. Exemple d'instruction :

    -- The return value is [10, 20, 20]. 
    select slice(array(10, 20, 20, null, null, 30), 1, 3);
  • Exemple 2 : Copiez les éléments de array(10, 20, 20, null, null, 30) à partir de la position -2 sur une longueur de 2. Exemple d'instruction :

    -- The return value is [null, 30]. 
    select slice(array(10, 20, 20, null, null, 30), -2, 2);  
  • Exemple 3 : Copiez les éléments de array(10, 20, 20, null, null, 30) à partir de la position 3 sur une longueur de 10. Exemple d'instruction :

    -- The return value is [20, null, null, 30]. 
    select slice(array(10, 20, 20, null, null, 30), 3, 10); 
  • Exemple 4 : Copiez les éléments de array(10, 20, 20, null, null, 30) à partir de la position 3 sur une longueur de 0. Exemple d'instruction :

    -- The return value is []. 
    select slice(array(10, 20, 20, null, null, 30), 3, 0);

Fonctions associées

SLICE est une fonction de type complexe. Pour plus d'informations sur les fonctions utilisées pour traiter les données de types complexes, tels que ARRAY, MAP, STRUCT et JSON, consultez Fonctions de type complexe.