ARRAY_DELETE スカラー関数

ARRAY_DELETE 関数は、配列からエレメントを削除します。

構文図を読む構文図をスキップする ARRAY_DELETE ( array-expression ,array-index1,array-index2 )
スキーマは SYSIBM です。
array-expression
配列タイプの SQL 変数、SQL パラメーター、またはグローバル変数か、配列タイプへのパラメーター・マーカーの CAST 指定。
array-index1
配列指標のデータ・タイプに割り当て可能な値になる式。 array-expression が通常配列の場合、array-index1 は NULL 値でなければなりません (SQLTATE 42815)。
array-index2
配列指標のデータ・タイプに割り当て可能な値になる式。 array-expression が通常配列の場合、array-index2 は NULL 値でなければなりません。非 NULL 値の array-index2 が指定されている場合は、array-index1array-index2 の値未満の非 NULL 値でなければなりません (SQLSTATE 42815)。
関数の結果は、array-expression と同じデータ・タイプです。結果配列は array-expression のコピーです。 ただし、次の点が変更されています。
  • オプションの引数を指定しないか NULL 値の場合は、array-expression のすべてのエレメントは削除され、結果の配列値のカーディナリティーは 0 になります。
  • array-index1 のみ非 NULL 値で指定する場合は、索引値 array-index1 の配列エレメントが削除されます。
  • array-index2 も非 NULL 値で指定する場合は、索引値 array-index1 から array-index2 までの (両端を含む) 範囲のエレメントが削除されます。

結果は NULL になる可能性があります。array-expression が NULL である場合、その結果は NULL 値になります。

  1. 配列タイプ PHONENUMBERS の通常配列変数 RECENT_CALLS から、すべてのエレメントを削除します。
    SETRECENT_CALLS = ARRAY_DELETE(RECENT_CALLS)
  2. 製造業者は製品の一部を廃止しました。索引値 'PK5100' から索引値 'PS2500' までのエレメントを、配列タイプ PRODUCTS の連想配列変数 FLOOR_TILES から削除します。
    SETFLOOR_TILES = ARRAY_DELETE(FLOOR_TILES,'PK5100','PS2500')