Retorna o valor que atende à condição especificada em um parâmetro do tipo ARRAY ou MAP.
Formato do comando
INDEX (<var1>[<var2>])
Observações
Se var1 for do tipo
array<T>, a função obtém o elemento na posição var2 de var1. A indexação dos elementos do ARRAY começa em 0, da esquerda para a direita.Se var1 for do tipo
map<K, V>, a função retorna o Value cuja Key corresponde a var2 em var1.
Ao usar esta função, omita
indexe execute diretamente<var1>[<var2>]. Caso contrário, a função retornará um erro.Se var1 for um array, var2 atua como índice; se var1 for um map, var2 representa a chave.
Descrição dos parâmetros
var1: obrigatório. Aceita os tipos
array<T>oumap<K, V>. Emarray<T>,Tindica o tipo de dados dos elementos do ARRAY, que podem ser de qualquer tipo. Emmap<K, V>,KeVrepresentam, respectivamente, a Key e o Value do objeto MAP.-
var2: obrigatório.
Se var1 for do tipo
array<T>, var2 deve ser BIGINT e maior ou igual a 0.Se var1 for do tipo
map<K, V>, var2 deve ter o mesmo tipo de K.
Valores de retorno
-
Se var1 for do tipo
array<T>, a função retorna o tipo T conforme as regras a seguir:O resultado é NULL quando var2 excede o número de elementos de var1.
Se var1 for NULL, o resultado será NULL.
-
Se var1 for do tipo
map<K, V>, a função retorna o tipo V conforme as regras a seguir:O resultado é NULL se não existir nenhuma Key igual a var2 no
map<K, V>.O resultado é NULL se var1 for NULL.
Exemplos de uso
-
Exemplo 1: var1 do tipo
array<T>. Comando:--返回c。 SELECT ARRAY('a','b','c')[2]; -
Exemplo 2: var1 do tipo
map<K, V>. Comando:--返回1。 SELECT STR_TO_MAP("test1=1,test2=2")["test1"];
Funções relacionadas
A função INDEX pertence ao grupo de funções de tipos complexos. Para outras funções de processamento de dados de tipos complexos (como ARRAY, MAP, STRUCT e JSON), consulte Funções de tipos complexos.