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

MaxCompute:INDEX

最終更新日:Nov 10, 2025

マップまたは配列で特定の条件を満たす値を返します。

構文

INDEX (<var1>[<var2>])

使用上の注意

  • var1array<T> 型の場合、この関数はvar1var2の位置にある要素を取得します。 要素の位置番号は左から右に数え、0から始まります。

  • var1map<K, V> 型の場合、この関数はキーがvar1var2である値を取得します。

説明
  • この関数を使用する場合は、indexを削除し、<var1>[<var2>] を直接実行する必要があります。 それ以外の場合は、エラーが返されます。

  • var1が配列型の場合、var2はインデックスとして機能します。 var1がmap型の場合、var2はキーとして機能します。

パラメーター

  • var1: 必須です。 値は、array<T> 型またはmap<K, V> 型である必要があります。 array<T>Tは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。 map<K, V>KVは、マップのキーと値を指定します。

  • var2: 必須です。

    • var1array<T> 型の場合、var2はBIGINT型で、0以上でなければなりません。

    • var1map<K, V> 型の場合、var2Kと同じデータ型である必要があります。

戻り値

  • var1array<T> 型の場合、Tで指定されたデータ型の値が返されます。 戻り値は、次のルールによって異なります。

    • var1の要素数がvar2未満の場合、nullが返されます。

    • var1がnullの場合、nullが返されます。

  • var1map<K, V> 型の場合、Vで指定されたデータ型の値が返されます。 戻り値は、次のルールによって異なります。

    • map<K, V> に値がvar2のキーが含まれていない場合、nullが返されます。

    • var1がnullの場合、nullが返されます。

  • 例1: var1array<T> タイプです。 例:

    -- The return value is c. 
    SELECT ARRAY('a','b','c')[2];
  • 例2: var1map<K, V> タイプです。 例:

    -- The return value is 1. 
    SELECT STR_TO_MAP("test1=1,test2=2")["test1"];

関連関数

INDEXは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.