配列a内の指定された要素の最初の出現位置を返します。 要素の位置番号は左から右に数え、1から始まります。
構文
bigint array_position(array<T> <a>, T <element>)パラメーター
a: 必須です。 このパラメーターは、配列を指定します。
array<T>のTは、配列内の要素のデータ型を指定します。 次のデータ型がサポートされています。TINYINT、SMALLINT、INT、およびBIGINT
フロートとダブル
BOOLEAN
デシマルとデシマル
DATE、DATETIME、TIMESTAMP、IntervalDayTime、およびIntervalYearMonth
STRING、BINARY、VARCHAR、CHAR
アレイ、STRUCT、マップ
element: 必須です。 位置を照会する要素です。 この要素のデータ型は、配列aの要素のデータ型と同じである必要があります。
戻り値
BIGINT型の値が返されます。 戻り値は、次のルールによって異なります。
aまたはelementの値がnullの場合、nullが返されます。
指定された要素が見つからない場合は、0が返されます。
例
例1:
配列 (3、2、1)の最初の1の位置を返します。 例:-- The return value is 3. select array_position(array(3, 2, 1), 1);例2: 指定された要素はnullです。 例:
-- The return value is null. select array_position(array(3, 1, null), null);
関連関数
ARRAY_POSITIONは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.