- カテゴリ:
半構造化データ関数 (配列/オブジェクト)
ARRAY_POSITION¶
配列内の要素に最初に現れるインデックスを返します。
構文¶
ARRAY_POSITION( <variant_expr> , <array> )
引数¶
variant_expr
この式は VARIANT 値に評価される必要があります。関数は、配列内でこの値が最初に現れる場所を検索します。
array
検索される配列です。
戻り値¶
戻り値のデータ型は INTEGER です。
使用上の注意¶
戻り値は1ベースではなく、0ベースです。つまり、
variant_expr
が配列の最初の要素と一致する場合、この関数は1ではなく0を返します。VARIANT 値が ARRAYに含まれていない場合、関数は NULLを返します。
variant_expr
に NULL を指定すると、関数は配列内の最初の NULL の位置を返します。
例¶
以下の例は、この関数の使用方法を示しています。
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 | +----------------------------------------------------------------------+