Todos os produtos
Search
Central de documentação

MaxCompute:ARRAY_POSITION

Última atualização: Sep 22, 2026

Retorna a posição da primeira ocorrência de um determinado element no array a. A contagem das posições dos elementos segue da esquerda para a direita e começa em 1.

Sintaxe

bigint array_position(array<T> <a>, T <element>)

Parâmetros

  • a: obrigatório. Especifica um array. T em array<T> especifica o tipo de dados dos elementos do array. Esta função aceita os seguintes tipos de dados:

    • TINYINT, SMALLINT, INT e BIGINT

    • FLOAT e DOUBLE

    • BOOLEAN

    • DECIMAL e DECIMALVAL

    • DATE, DATETIME, TIMESTAMP, IntervalDayTime e IntervalYearMonth

    • STRING, BINARY, VARCHAR e CHAR

    • ARRAY, STRUCT e MAP

  • element: obrigatório. O elemento cuja posição deseja consultar. O tipo de dados desse elemento deve ser igual ao tipo de dados dos elementos no array a.

Valor de retorno

A função retorna um valor do tipo BIGINT. O valor de retorno varia de acordo com as seguintes regras:

  • Se o valor de a ou element for nulo, o valor retornado será null.

  • Se o elemento especificado não for encontrado, o valor retornado será 0.

Exemplos

  • Exemplo 1: Retornar a posição da primeira ocorrência de 1 em array(3, 2, 1). Instrução de exemplo:

    -- The return value is 3. 
    select array_position(array(3, 2, 1), 1);
  • Exemplo 2: O element especificado é null. Instrução de exemplo:

    -- The return value is null. 
    select array_position(array(3, 1, null), null);

Funções relacionadas

ARRAY_POSITION é uma função de tipo complexo. Para obter mais informações sobre as funções usadas para processar dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.