CARDINALITY 函数返回数组
CARDINALITY(:) 例如,获取数组
CREATE PROCEDURE CARDINALITY_2(OUT n INTEGER) AS
BEGIN
DECLARE array_id Integer ARRAY;
n = CARDINALITY(:array_id);
END;
结果为 n=0,因为数组中没有 元素。在下一示例中,基数为 20,因为设置了第 20 个元素。这会将元素 1-19 隐式设置为 NULL:
CREATE PROCEDURE CARDINALITY_3(OUT n INTEGER) AS
BEGIN
DECLARE array_id Integer ARRAY;
array_id[20] = NULL;
n = CARDINALITY(:array_id);
END;
CARDINALITY 函数也可以在支持表达式的任何地方直接使用,例如在条件中:
CREATE PROCEDURE CARDINALITY_1(OUT n INTEGER) AS
BEGIN
DECLARE array_id Integer ARRAY := ARRAY(1, 2, 3);
If CARDINALITY(:array_id) > 0 THEN
n = 1 ;
ELSE
n = 0;
END IF;
END;