- Categories:
Semi-structured and structured data functions (Array/Object)
ARRAY_POSITIONÂļ
Returns the index of the first occurrence of an element in an array.
SyntaxÂļ
ARRAY_POSITION( <variant_expr> , <array> )
ArgumentsÂļ
value_expr
Value to find in
array
.If
array
is a semi-structured ARRAY,value_expr
must evaluate to a VARIANT.If
array
is a structured ARRAY,value_expr
must evaluate to a type that is comparable to the type of the ARRAY.
array
The ARRAY to search.
ReturnsÂļ
The function returns an INTEGER specifying the position of value_expr
in array
.
Usage notesÂļ
The return value is 0-based, not 1-based. In other words, if the
value_expr
matches the first element in the array, this function returns 0, not 1.If the value is not contained in the ARRAY, the function returns NULL.
If you specify NULL for
value_expr
, the function returns the position of the first NULL in the array.
ExamplesÂļ
The examples below show how to use this function:
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 | +----------------------------------------------------------------------+