写点什么

YashanDB ARRAY_LENGTH 函数

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

    阅读完需:约 2 分钟

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

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

array_var

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

dimension

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

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

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

当在同一 dimension 存在多个数组时,函数返回最长的数组长度。

示例(HEAP 表)

--单层数组SELECT ARRAY_LENGTH(STRING_TO_ARRAY('a,b,c,d,e', ','), 1) len FROM DUAL;         LEN ------------            5
SELECT ARRAY_LENGTH(STRING_TO_ARRAY('a,b,c,d,e', ','), NULL) len FROM DUAL; LEN ------------
SELECT ARRAY_LENGTH(STRING_TO_ARRAY('a,b,c,d,e', ','), -1) len FROM DUAL; LEN ------------ --多层数组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_LENGTH(b,1)); DBMS_OUTPUT.PUT_LINE('Dimension 2 has:'||ARRAY_LENGTH(b,2));END;/Dimension 1 has:3Dimension 2 has:4
复制代码


用户头像

YashanDB

关注

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

还未添加个人简介

评论

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