写点什么

YashanDB ARRAY_UPPER 函数

作者:YashanDB
  • 2025-04-09
    广东
  • 本文字数:630 字

    阅读完需:约 2 分钟

ARRAY_UPPER 函数对数组(数组变量,数组对象,数组类型)array_var 计算按 dimension 指定维度的成员数量上限,返回一个 INT 类型的数值。

本函数不支持向量化计算。

array_var

一个已初始化的数组变量,不可为 NULL。

dimension

数组维度,即数组嵌套深度,为一个通用表达式,其值类型必须为 INT(超过 INT 值域范围时报错)。对该值的计算规则为:

当 dimension 为 NULL 时,函数返回 NULL。

数组嵌套深度从 1 开始,当 dimension 小于 1 或者大于最大深度时,函数返回 NULL。

示例(HEAP 表)

--单层数组SELECT ARRAY_UPPER(STRING_TO_ARRAY('a,b,c,d,e', ','), 1) LIMIT FROM DUAL;       LIMIT ------------   2147483647
SELECT ARRAY_UPPER(STRING_TO_ARRAY('a,b,c,d,e', ','), NULL) LIMIT FROM DUAL; LIMIT ------------
SELECT ARRAY_UPPER(STRING_TO_ARRAY('a,b,c,d,e', ','), -1) LIMIT FROM DUAL; LIMIT ------------
--多层数组SET serveroutput ONDECLARE TYPE arr_type_2 IS VARRAY(10) OF CHAR(5); TYPE arr_type_1 IS VARRAY(10) OF arr_type_2; b arr_type_1;BEGIN b := arr_type_1(STRING_TO_ARRAY('a1,b1,c1', ',') ,STRING_TO_ARRAY('a2,b2', ',') ,STRING_TO_ARRAY('a3,b3,c3,d3', ',')); DBMS_OUTPUT.PUT_LINE('Dimension 1 has:'||ARRAY_UPPER(b,1)); DBMS_OUTPUT.PUT_LINE('Dimension 2 has:'||ARRAY_UPPER(b,2));END;/Dimension 1 has:10Dimension 2 has:10
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB ARRAY_UPPER函数_YashanDB_InfoQ写作社区