我有一个SQL函数:

CREATE OR REPLACE FUNCTION getLocationId( lng double precision[]) ...

以数组作为参数。我知道如何从SQL脚本或PHP调用它,但不知道如何从psql命令行调用它。我试着像在PHP中那样构造一个字符串:
select * from getLocationId("{1.0,2.0}") ...

但是我得到一个解析错误。有人能解释吗?

最佳答案

对数组值使用单引号。双引号用于Postgres(和标准SQL)中的标识符。

select * from getLocationId('{1.0,2.0}');

ARRAY constructor的替代语法:
select * from getLocationId(ARRAY[1.0,2.0]);

关于arrays - 在psql命令行上传递数组参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27516151/

10-11 22:45