TRIM_ARRAY标量函数
TRIM_ARRAY函数用于从普通数组的末尾删除元素。
该模式是 SYSIBM。
- 数组表达式
SQL变量、SQL参数或普通数组类型的全局变量,或参数标记转换为数组类型的CAST规范。 不能指定关联数组类型。
- 数字表达式
- 指定从数组末尾裁剪的元素数量。 数值表达式可以是任何数值数据类型,其值可以转换为整数。 数字表达式的值必须大于或等于0,且小于或等于数组表达式的基数。
TRIM_ARRAY 返回一个与数组表达式具有相同数组类型的值,基数因整数表达式的值而减小。
结果可以为空; 如果任何自变量为空,那么结果为空值。
TRIM_ARRAY函数只能在以下情况下调用:
- SET 赋值语句或 SQL PL 赋值语句的源值,或 VALUES INTO 语句的源值
- SQL标量函数中RETURN语句返回的值
注意
- 语法替代方案:
CAST (SQL-variable AS array-type )可以指定为 SQL-variable的替代选项。 CAST (SQL参数作为数组类型 )可以指定为 SQL参数的替代。
ARRAY_TRIM是内置函数TRIM_ARRAY的同义词。
示例
- 示例 1:
假设PHONENUMBERS是一个用户定义的数组类型,定义为普通数组。 RECENT_CALLS是PHONENUMBERS类型的数组变量。 以下语句从数组变量 RECENT_CALLS 中移除最后一个元素。
SET RECENT_CALLS = TRIM_ARRAY(RECENT_CALLS,1);- 示例 2:
假设 INTARRAY 是一个用户定义的数组类型,定义为具有整数元素的普通数组。 特殊数字和低素数是INTARRAY类型的数组变量。 特殊数字数组包含小于1000的所有质数的值,即168个值。 以下语句将特殊数字数组中10个最小的质数赋值给低质数数组的前10个元素。
SET LOWPRIMES = TRIM_ARRAY(SPECIALNUMBERS,CARDINALITY(SPECIALNUMBERS)-10);
