Postgres声明管道包含引用的冒号

时间:2014-03-03 17:46:15

标签: sql string postgresql pipe psql

当postgres中的SQL语句写成如下所示时,这是什么意思?

SELECT 
    name||' ::: '||id AS title
FROM 
    my_table;

在Google中搜索几乎是不可能的!管道和封闭的引用冒号做了什么?

2 个答案:

答案 0 :(得分:7)

来自fine manual

  

功能: string || string
  返回类型text
  说明String concatenation
  示例'Post' || 'greSQL'
  结果PostgreSQL

所以a || b是字符串连接。这是标准SQL,一些非标准数据库使用concat(a, b)a + b

单引号在(标准)SQL中用于字符串文字,因此' ::: '只是一个字符串。

这意味着整个事情:

name||' ::: '||id

只是nameid' ::: '粘贴在一起。如果作者添加了一些空格,那么SQL可能更容易阅读:

name || ' ::: ' || id
顺便说一下,使用SymbolHound来搜索这些内容你会有更好的运气:

  

http://symbolhound.com/?q=postgresql+%7C%7C

答案 1 :(得分:0)

这只是通过将它们与中间的文本“:::”连接来为表的两个字段执行select语句。