需要在 psql 中以特定格式输出

Posted

技术标签:

【中文标题】需要在 psql 中以特定格式输出【英文标题】:Need the output in specific format in psql 【发布时间】:2018-08-27 11:50:53 【问题描述】:

假设:-

subh=# select 'test123';
          ?column?
-------------------------------------
         test123

subh=# select obj_description('test123'::regclass);
  obj_description
--------------------
 this is my table

我正在运行这个查询:-

subh=# select 'test123' || ' ' || obj_description('test123'::regclass) as test;
             test
 -------------------------------
  test123 this is my table

其实我希望输出如下:-

            test
-------------------------------
  test123 'this is my table'

【问题讨论】:

''' ' || obj_description('test123'::regclass) || '''' 【参考方案1】:

使用quote_literal

此函数在给定字符串/数字的前后添加单引号。阅读here。

subh=# select 'test123' || ' ' || quote_literal(obj_description('test123'::regclass)) as test;

【讨论】:

【参考方案2】:
subh=# select 'test123' || ' \'' || obj_description('test123'::regclass) as test || '\'';

             test
 -------------------------------
  test123 'this is my table'

\' 将用于添加报价

【讨论】:

引号在 SQL 中使用反斜杠转义,而是通过将它们加倍:'test123' || '''' || ....

以上是关于需要在 psql 中以特定格式输出的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server Management Studio 中以“真实”CSV 格式获取导出输出?

如何在MapReduce作业中以拼花文件格式编写输出?

在 Unix shell 脚本中以可读的 JSON 格式显示 curl 输出

在 ASP.Net (Visual Studio 2013) 中以结构格式解析 Json 数据

如何使用psql导出Redshift集群的CSV格式的数据

员工表和需要以以下格式输出