- Categorias:
Funções de dados semiestruturados e estruturados (Matriz/objeto)
ARRAY_POSITION¶
Retorna o índice da primeira ocorrência de um elemento de uma matriz.
Sintaxe¶
ARRAY_POSITION( <variant_expr> , <array> )
Argumentos¶
value_expr
Valor a ser encontrado em
array
.Se
array
for uma ARRAY semiestruturada,value_expr
deverá ser avaliado como VARIANT.Se
array
for uma ARRAY estruturada,value_expr
deverá ser avaliado como um tipo que seja comparável ao tipo de ARRAY.
array
A ARRAY a ser pesquisada.
Retornos¶
A função retorna um INTEGER especificando a posição de value_expr
em array
.
Notas de uso¶
O valor de retorno é baseado em 0, e não em 1. Em outras palavras, se o
value_expr
corresponder ao primeiro elemento da matriz, esta função retorna 0, e não 1.Se o valor não estiver contido na ARRAY, a função retorna NULL.
Se você especificar NULL para
value_expr
, a função retornará a posição do primeiro NULL na matriz.
Exemplos¶
Os exemplos abaixo mostram como utilizar esta função:
SELECT ARRAY_POSITION('hello'::variant, array_construct('hello', 'hi')); +------------------------------------------------------------------+ | ARRAY_POSITION('HELLO'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) | |------------------------------------------------------------------| | 0 | +------------------------------------------------------------------+SELECT ARRAY_POSITION('hi'::variant, array_construct('hello', 'hi')); +---------------------------------------------------------------+ | ARRAY_POSITION('HI'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) | |---------------------------------------------------------------| | 1 | +---------------------------------------------------------------+SELECT ARRAY_POSITION('hello'::variant, array_construct('hola', 'bonjour')); +----------------------------------------------------------------------+ | ARRAY_POSITION('HELLO'::VARIANT, ARRAY_CONSTRUCT('HOLA', 'BONJOUR')) | |----------------------------------------------------------------------| | NULL | +----------------------------------------------------------------------+