Todos os produtos
Search
Central de documentação

MaxCompute:INDEX

Última atualização: Sep 21, 2026

Retorna um valor de um parâmetro ARRAY ou MAP.

Formato do comando

INDEX (<var1>[<var2>])

Observações

  • Se var1 for um array<T>, esta função recupera o elemento no índice var2 de var1. A indexação dos elementos do array começa em 0.

  • Se var1 for um map<K, V>, esta função recupera o valor da chave var2 em var1.

Nota
  • Esta operação não utiliza a palavra-chave INDEX. Use diretamente a sintaxe <var1>[<var2>]. Caso contrário, a função retorna um erro.

  • Se var1 for um array, var2 é o índice. Se var1 for um map, var2 é a chave.

Descrição dos parâmetros

  • var1: Obrigatório. Um array<T> ou map<K, V>. No array<T>, T especifica o tipo de dados dos elementos do array. T pode ser qualquer tipo de dados. No map<K, V>, K e V representam os tipos de dados das chaves e dos valores, respectivamente.

  • var2: Obrigatório.

    • Se var1 for um array<T>, var2 deve ser um valor BIGINT não negativo.

    • Se var1 for um map<K, V>, var2 deve ter o mesmo tipo de dados que K.

Descrição do valor de retorno

  • Se var1 for um array<T>, a função retorna um valor do tipo T. Aplicam-se as seguintes regras:

    • Se var2 estiver fora dos limites do array var1, a função retorna NULL.

    • Se var1 for NULL, a função retorna NULL.

  • Se var1 for um map<K, V>, a função retorna um valor do tipo V. Aplicam-se as seguintes regras:

    • Se a chave var2 não existir no map<K, V>, a função retorna NULL.

    • Se var1 for NULL, a função retorna NULL.

Exemplos de uso

  • Exemplo 1: var1 é um array<T>.

    -- Returns c.
    SELECT ARRAY('a','b','c')[2];
  • Exemplo 2: var1 é um map<K, V>.

    -- Returns 1.
    SELECT STR_TO_MAP("test1=1,test2=2")["test1"];

Funções relacionadas

INDEX é uma função para tipos complexos. Para obter mais informações sobre funções que processam tipos de dados complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.