ARRAY_NEXT 标量函数

ARRAY_NEXT 函数返回相对于指定数组下标参数的数组下一个更大的数组下标值。

Read syntax diagramSkip visual syntax diagram ARRAY_NEXT ( array-expression , array-index )

该模式是 SYSIBM。

array-expression
数组类型的 SQL 变量, SQL 参数或全局变量,或者数组类型的参数标记的 CAST 规范。
array-index
指定可分配给数组下标的数据类型的值。 有效值包括数据类型的任何有效值。

结果是数组中定义的下一个较大的数组下标值相对于指定的 array-index 值。 如果 array-index 小于数组中的最小索引数组值,那么结果是数组中定义的第一个数组下标值。

函数结果的数据类型是数组下标的数据类型。 结果可以为空; 如果任一自变量为空,那么第一个自变量的基数为零,或者 array-index 的值大于或等于数组中最后一个索引的值,那么结果为空值。

示例

  1. 将普通数组变量 SPECIALNUMBERS 中的 9th 个索引位置之后的下一个索引值返回到 SQL 变量 NEXT_CONSTIDX
    SET NEXT_CONSTIDX = ARRAY_NEXT(SPECIALNUMBERS,9)
    结果为 10。
  2. 给定具有索引值和电话号码的关联数组变量 PHONELIST : "Home" 为 "4163053745" , "Work" 为 "4163053746" , "妈妈" 为 "416-4789683" , 将数组中索引值 "爸爸" (对于数组值不存在) 后的下一个索引的值分配给名为 X 的字符串变量:
    SET X = ARRAY_NEXT(PHONELIST, 'Dad')
    将 "Home" 的值分配给 X,因为值 "爸爸" 是小于数组变量的任何下标值的值。 在数组中指定索引值'Work'之后下一个索引的索引值:
    SET X = ARRAY_NEXT(PHONELIST, 'Work')
    空值 分配给 X