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