Tous les produits
Search
Centre de documentation

MaxCompute:SLICE

Dernière mise à jour :Aug 10, 2026

Découpe un tableau ARRAY en extrayant les éléments à partir de la position start sur une longueur de length pour former un nouveau tableau.

Syntaxe

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

Paramètres

  • a : obligatoire. Tableau de type ARRAY. Dans array<T>, T représente le type de données des éléments du tableau. Ces éléments peuvent être de n'importe quel type.

  • start : obligatoire. Point de départ du découpage. L'indexation commence à 1, ce qui signifie que le découpage débute depuis le premier élément vers la droite. La valeur start peut être négative ; dans ce cas, le découpage commence depuis la fin du tableau vers la droite.

  • length : obligatoire. Longueur du découpage. Cette valeur doit être supérieure ou égale à 0. Si la longueur spécifiée dépasse celle du tableau ARRAY, la fonction renvoie un tableau composé des éléments allant de la position start jusqu'au dernier élément.

Valeur de retour

Renvoie une valeur de type ARRAY.

Exemples

  • Exemple 1 : extraire les éléments du tableau ARRAY array(10, 20, 20, null, null, 30) à partir de la position 1 avec une longueur de découpage de 3. Voici la commande correspondante.

    --返回[10, 20, 20]。
    select slice(array(10, 20, 20, null, null, 30), 1, 3);
  • Exemple 2 : extraire les éléments du tableau ARRAY array(10, 20, 20, null, null, 30) à partir de la position -2 avec une longueur de découpage de 2. Voici la commande correspondante.

    --返回[NULL, 30]。
    select slice(array(10, 20, 20, null, null, 30), -2, 2);  
  • Exemple 3 : extraire les éléments du tableau ARRAY array(10, 20, 20, null, null, 30) à partir de la position 3 avec une longueur de découpage de 10. Voici la commande correspondante.

    --返回[20, NULL, NULL, 30]。
    select slice(array(10, 20, 20, null, null, 30), 3, 10); 
  • Exemple 4 : extraire les éléments du tableau ARRAY array(10, 20, 20, null, null, 30) à partir de la position 3 avec une longueur de découpage de 0. Voici la commande correspondante.

    --返回[]。
    select slice(array(10, 20, 20, null, null, 30), 3, 0);

Fonctions connexes

La fonction SLICE fait partie des fonctions de types complexes. Pour plus d'informations sur les fonctions de traitement des données de types complexes (telles que ARRAY, MAP, STRUCT et JSON), consultez la rubrique Complex type functions.