すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ARRAY_POSITION

最終更新日:Dec 16, 2024

配列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などの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.