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

Posted

技术标签:

【中文标题】在 psql 命令行上传递数组参数【英文标题】:Pass an array parameter on psql command line 【发布时间】:2015-02-15 10:39:38 【问题描述】:

我有一个 SQL 函数:

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

将数组作为参数。我知道如何从 SQL 脚本或 php 调用它,但我不知道如何从 psql 命令行调用它。我试过像在 PHP 中那样构造一个字符串:

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

但我得到一个解析错误。谁能解释一下?

【问题讨论】:

【参考方案1】:

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

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

ARRAY constructor 的替代语法:

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

【讨论】:

以上是关于在 psql 命令行上传递数组参数的主要内容,如果未能解决你的问题,请参考以下文章

awk从入门到入土(23)awk内置变量ARGCARGC--命令行参数传递

awk从入门到入土(23)awk内置变量ARGCARGC--命令行参数传递

使用传递文件的 a.R 在命令行上调用 RMarkdown

函数内部 sed 命令中的 bash 语法错误,在命令行上工作正常

Linux驱动开发-安装驱动参数传递

在 Perl 中,如何在命令行上发送 CGI 参数?