ARRAY_FIRST スカラー関数
ARRAY_FIRST 関数は、配列の最小の配列指標値を戻します。
スキーマは SYSIBM です。
- 配列式
SQL変数、SQLパラメータ、配列型のグローバル変数、または、SQL変数、SQLパラメータ、グローバル変数、またはパラメータマーカーをソース値として指定するCAST指定。
ARRAY_FIRST の結果のデータ・タイプは、添字と同じになります。 array-expression が NULL でなく、配列が空でない場合 (配列のカーディナリティーが 0 より大きい場合)、 結果の値は最小の添字値になります (通常配列の場合は 1)。
結果はnullになる可能性があります。引数がnullの場合、結果もnull値となります。
配列が空の場合 (配列のカーディナリティーが 0 の場合)、結果は NULL 値になります。
注
- 代替構文:
CAST (SQL 変数 AS array-type) は、SQL-variable の代わりとして指定することができます。 CAST (SQL-parameter AS array-type) を SQL-parameter の代わりとして指定できます。
例 1: SPECIALNUMBERS が通常配列変数であり、その配列のエレメントが整数であるとします。 配列変数 SPECIALNUMBERS の最初の添字の値を SQL 変数 E_CONSTIDX に戻します。
SET E_CONSTIDX = ARRAY_FIRST(SPECIALNUMBERS);
結果は、1 です。
例 2: PHONELIST が VARCHAR 添字値を持つ連想配列変数であるとします。 以下のステートメントで、この配列のエレメントに値が代入されました。
SET PHONELIST['Home'] = '4443051234';
SET PHONELIST['Work'] = '4443052345';
SET PHONELIST['Cell'] = '4447893456';連想配列の配列エレメントに値が代入される順序は、問題ではありません。 連想配列のエレメントは、関連付けられた添字値の昇順で配列変数に保管されます。 SET assignment-statement ステートメントを使って PHONELIST 配列変数に値を代入した後、配列変数のエレメントは次のように順序付けされています。
| 添字値 | Element value |
|---|---|
| セル | 4447893456 |
| Home | 4443051234 |
| 作業 | 4443052345 |
配列変数の最初の添字の値を X という文字ストリング変数に代入します。
SET X = ARRAY_FIRST(PHONELIST);「Cell」が配列変数の最初のエレメントの添字値であるため、「Cell」の値が X に代入されます。
添字 X の配列エレメントの値を SQL 変数 NUMBER_TO_CALL に代入します。
SET NUMBER_TO_CALL = PHONELIST[X];この代入ステートメントは、電話番号「4447893456」を NUMBER_TO_CALL に代入します。
