Postgres连接

Pha*_*ani 12 postgresql

我正在尝试在PostgreSQL中进行简单的连接,并且它不断抛出错误消息.我不明白我在做错了什么.

select concat('abcde', 'fgh');
No function matches the given name and argument types. You might need to add explicit type casts.

select concat(cast('abcde' as text), cast('fgh' as text));
No function matches the given name and argument types. You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

我正在使用Postgres版本8.4.11.请让我知道发生了什么.

Sor*_*row 20

concat运算符||,所以select 'abcde' || 'fgh'应该工作.另外,正如@ jonathan.cone建议的那样,查看文档.


Cra*_*ger 12

concat在9.1中添加,它在8.4中不存在.正如其他人所说,使用||运营商.

8.4文档9.1文档进行比较,您会注意到该文档concat中没有该函数.

请参阅文档顶部的"其他版本中的此页面"栏?当您使用旧版本时,或者如果您通过Google找到指向旧版本页面的链接并且您使用的是较新版本时,它会非常方便.始终确保您正在查看正确版本的文档.

如果功能表等包括"首次出现在版本中",那将是很好的 - 但不幸的是它们没有.

如果您对函数的可用性感到困惑,可以\df在psql中使用列出和搜索函数.

例如,列出名为concatuse的所有函数\df concat

对于pg_catalog模式中的所有函数(内置函数),请使用\df pg_catalog.- 注意尾随句点,告诉psql您的意思是"模式中的任何函数pg_catalog"而不是"名为pg_catalog的函数".

对于名称以concatuse 开头的所有函数\df concat*

这是一个非常强大的工具.搜索schema(\dn),tables(\dt)等时使用相同的语言.