Copia os elementos de um array a partir da posição start, considerando um length específico, e retorna esses elementos como um novo array.
Sintaxe
array<T> slice(array<T> <a>, <start>, <length>)
Parâmetros
a: obrigatório. Especifica um array.
Temarray<T>especifica o tipo de dados dos elementos no array. Os elementos podem ser de qualquer tipo de dados.start: obrigatório. Especifica a posição em que a função começa a copiar elementos da esquerda para a direita. O menor valor positivo permitido para esse parâmetro é 1. Se necessário, defina o parâmetro start com um valor negativo. Nesse caso, a posição inicial é contada a partir do fim do array, mas os elementos ainda são copiados da esquerda para a direita.
length: obrigatório. Número de elementos no array retornado. O valor deve ser maior ou igual a 0. Se o valor for maior que o comprimento do array de entrada, a função retornará um novo array composto pelos elementos da posição start até o fim do array de entrada.
Valor de retorno
Retorna um valor do tipo ARRAY.
Exemplos
-
Exemplo 1: copia os elementos em
array(10, 20, 20, null, null, 30)a partir da posição1, com comprimento3. Instrução de exemplo:-- The return value is [10, 20, 20]. select slice(array(10, 20, 20, null, null, 30), 1, 3); -
Exemplo 2: copia os elementos em
array(10, 20, 20, null, null, 30)a partir da posição-2, com comprimento2. Instrução de exemplo:-- The return value is [null, 30]. select slice(array(10, 20, 20, null, null, 30), -2, 2); -
Exemplo 3: copia os elementos em
array(10, 20, 20, null, null, 30)a partir da posição3, com comprimento10. Instrução de exemplo:-- The return value is [20, null, null, 30]. select slice(array(10, 20, 20, null, null, 30), 3, 10); -
Exemplo 4: copia os elementos em
array(10, 20, 20, null, null, 30)a partir da posição3, com comprimento0. Instrução de exemplo:-- The return value is []. select slice(array(10, 20, 20, null, null, 30), 3, 0);
Funções relacionadas
SLICE é uma função de tipo complexo. Para obter mais informações sobre as funções usadas para processar dados de tipos de dados complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.