マップまたは配列で特定の条件を満たす値を返します。
構文
INDEX (<var1>[<var2>])使用上の注意
var1が
array<T>型の場合、この関数はvar1のvar2の位置にある要素を取得します。 要素の位置番号は左から右に数え、0から始まります。var1が
map<K, V>型の場合、この関数はキーがvar1のvar2である値を取得します。
この関数を使用する場合は、
indexを削除し、<var1>[<var2>]を直接実行する必要があります。 それ以外の場合は、エラーが返されます。var1が配列型の場合、var2はインデックスとして機能します。var1がmap型の場合、var2はキーとして機能します。
パラメーター
var1: 必須です。 値は、
array<T>型またはmap<K, V>型である必要があります。array<T>のTは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。map<K, V>のKとVは、マップのキーと値を指定します。var2: 必須です。
var1が
array<T>型の場合、var2はBIGINT型で、0以上でなければなりません。var1が
map<K, V>型の場合、var2はKと同じデータ型である必要があります。
戻り値
var1が
array<T>型の場合、Tで指定されたデータ型の値が返されます。 戻り値は、次のルールによって異なります。var1の要素数がvar2未満の場合、nullが返されます。
var1がnullの場合、nullが返されます。
var1が
map<K, V>型の場合、Vで指定されたデータ型の値が返されます。 戻り値は、次のルールによって異なります。map<K, V>に値がvar2のキーが含まれていない場合、nullが返されます。var1がnullの場合、nullが返されます。
例
例1: var1は
array<T>タイプです。 例:-- The return value is c. SELECT ARRAY('a','b','c')[2];例2: var1は
map<K, V>タイプです。 例:-- The return value is 1. SELECT STR_TO_MAP("test1=1,test2=2")["test1"];
関連関数
INDEXは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.