Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在postgresql中数组的索引是如何工作的?_Arrays_Postgresql - Fatal编程技术网

Arrays 在postgresql中数组的索引是如何工作的?

Arrays 在postgresql中数组的索引是如何工作的?,arrays,postgresql,Arrays,Postgresql,我在postgresql中有这个函数 CREATE OR REPLACE FUNCTION get_values(vals numeric[]) RETURNS void AS $func$ DECLARE BEGIN RAISE NOTICE 'value: --%',vals[0]; RAISE NOTICE 'value: --%',vals[1]; RAISE NOTICE 'value: --%',vals[2]; END $func$ LANGUAGE plp

我在postgresql中有这个函数

CREATE OR REPLACE FUNCTION get_values(vals numeric[])
RETURNS void AS
$func$
DECLARE
BEGIN
    RAISE NOTICE 'value: --%',vals[0];
    RAISE NOTICE 'value: --%',vals[1];
    RAISE NOTICE 'value: --%',vals[2];
END
$func$ LANGUAGE plpgsql;
奇怪的是,在调用此函数时,数组的索引从1开始,而不是从0开始

select get_values(ARRAY[1,2,3]);

输出:

NOTICE:  value: --<NULL>
NOTICE:  value: --1
NOTICE:  value: --2
 get_values
------------
注意:值:--
注意:值:--1
注意:值:--2
获取值
------------
在postgresql中,数组的索引从1开始?

如果您阅读了手册中的“访问数组”一章,它就在那里:

默认情况下,PostgreSQL对数组使用基于一的编号约定,即n个元素的数组以数组[1]开始,以数组[n]结束

(强调矿山)

摘自:

奇怪吗?我猜你没读过。我不知道这有什么奇怪的。我开始计算1,如果我计算的东西。“μ”太短了,我只使用奇怪的词,因为我从这些编程语言中学习到C,C++和java,数组的索引从0开始。但是,是的,我没有检查文档,我认为这样会比检查文档快得多。不过还是要感谢你的评论和回答。
NOTICE:  value: --<NULL>
NOTICE:  value: --1
NOTICE:  value: --2
 get_values
------------