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
Tdansarray<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 position1sur une longueur de3. 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-2sur une longueur de2. 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 position3sur une longueur de10. 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 position3sur une longueur de0. 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.