ARRAY_DELETE 标量函数
ARRAY_DELETE 函数从数组中删除元素。
该模式是 SYSIBM。
- array-expression
- 数组类型的 SQL 变量, SQL 参数或全局变量,或者数组类型的参数标记的 CAST 规范。
- array-index1
- 结果是可以分配给数组下标的数据类型的值的表达式。 如果 array-expression 是普通数组,那么 array-index1 必须是空值 (SQLTATE 42815)。
- array-index2
- 结果是可以分配给数组下标的数据类型的值的表达式。 如果 array-expression 是普通数组,那么 array-index2 必须为空值。 如果指定了 array-index2 且为非空值,那么 array-index1 必须是小于 array-index2 值的非空值 (SQLSTATE 42815)。
该函数的结果与 array-expression 的数据类型相同。 结果数组是 array-expression 的副本,具有以下修改:
- 如果未指定可选参数,或者它们是空值,那么将删除 array-expression 的所有元素,结果数组值的基数为 0。
- 如果仅使用非空值指定 array-index1,那么将删除索引值 array-index1 处的数组元素。
- 如果还使用非空值指定了 array-index2,那么将删除从索引值 array-index1 到 array-index2(包含在内)的元素。
结果可以为空;如果 array-expression 为空,那么结果为空值。
示例
- 从数组类型为
PHONENUMBERS的普通数组变量RECENT_CALLS中删除所有元素。SETRECENT_CALLS = ARRAY_DELETE(RECENT_CALLS) - 供应商已停用其部分产品。 将数组类型为
PRODUCTS的关联数组变量FLOOR_TILES中的元素从索引值 "PK5100" 删除到索引值 "PS2500"。SETFLOOR_TILES = ARRAY_DELETE(FLOOR_TILES,'PK5100','PS2500')
