在psql命令行上传递数组参数

时间:2014-12-16 23:56:43

标签: arrays postgresql quotes psql

我有一个SQL函数:

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

以数组作为参数。我知道如何从SQL脚本或PHP中调用它,但我不知道如何从psql命令行执行此操作。我尝试构建一个像PHP一样的字符串:

select * from getLocationId("{1.0,2.0}") ...

但我得到一个解析错误。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:2)

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

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

使用ARRAY constructor的替代语法:

select * from getLocationId(ARRAY[1.0,2.0]);