Calcula a posição da primeira ocorrência do elemento element no array a. A numeração das posições dos elementos no array segue a ordem da esquerda para a direita, iniciando em 1.
Sintaxe
bigint array_position(array<T> <a>, T <element>)
Parâmetros
-
a: obrigatório. Array. O
Temarray<T>indica o tipo de dados dos elementos do array. Tipos de dados compatíveis:TINYINT, SMALLINT, INT, BIGINT
FLOAT, DOUBLE
BOOLEAN
DECIMAL, DECIMALVAL
DATE, DATETIME, TIMESTAMP, IntervalDayTime, IntervalYearMonth
STRING, BINARY, VARCHAR, CHAR
ARRAY, STRUCT, MAP
element: obrigatório. Elemento a consultar. Deve ter o mesmo tipo de dados dos elementos em a.
Valor de retorno
Retorna um valor BIGINT. Regras de retorno:
Retorna NULL se o array a ou element for NULL.
Retorna 0 se o elemento não for encontrado.
Exemplos
-
Exemplo 1: calcule a posição da primeira ocorrência do elemento
1no arrayarray(3, 2, 1). Comando:--返回3。 select array_position(array(3, 2, 1), 1); -
Exemplo 2: element é NULL. Comando:
--返回NULL。 select array_position(array(3, 1, null), null);
Funções relacionadas
A função ARRAY_POSITION pertence às 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.