如何在PostgreSQL中使用newline character

这是我实验中的错误脚本:

select 'test line 1'||'\n'||'test line 2';

我希望sql editor显示我上面脚本的结果:

test line 1
test line 2

但不幸的是,当我在sql编辑器中运行脚本时,我从脚本中得到了这个结果:

test line 1 test line 2

推荐答案

反斜杠在SQL中没有特殊意义,所以'\n'是一个后跟字符n的反斜杠

要在字符串文字中使用"转义序列",需要使用"extended" constant:

select 'test line 1'||E'\n'||'test line 2';

另一个选项是使用chr()功能:

select 'test line 1'||chr(10)||'test line 2';

或者简单地将换行符放在字符串常量中:

select 'test line 1
test line 2';

在您的SQL客户机中,这两行是否实际为displayed取决于您的SQL客户机.


更新:来自@thedayturns的一个很好的答案,在这里你可以有一个更简单的查询:

E'test line 1\ntest line 2'

Postgresql相关问答推荐

Docker化的PostgreSQL:FATAL:用户&postgres的密码身份验证失败

为什么在PostgreSQL中CPU_INDEX_TUPLE_COST与CPU_TUPLE_COST不同

为MCV扩展统计设置统计目标

gitlab在ubuntu上安装duplicate schema问题

如何使用 PostgreSQL 数据库中的函数和存储过程从动态表中获取所有数据?参数传入的表名

Postgis 不只使用索引扫描

使用 JDBC 连接到 PostgreSql 的本地实例

我可以在 Ruby on Rails 上编写 PostgreSQL 函数吗?

Postgresql JSONB 来了.现在用什么?Hstore?JSON?EAV?

PostgreSQL 中的 DATEADD 等效项

如何检索 PostgreSQL 数据库的 comments ?

如何在 PostgreSQL 触发器函数中获取表名?

在 Windows 10 中执行时,Docker 容器关闭并给出data directory has wrong ownership错误

如何从 CSV 为 PostgreSQL 副本生成模式

SQL 基本类型:integer vs int?

错误:prepared statement "S_1" already exists

Postgres:为 CAST 失败定义一个默认值?

使用 Hibernate 注释映射 PostgreSQL 串行类型

使用 Homebrew 安装 icu4c 版本 63

如何从我的 postgresql 查询中获取最小值、中值和最大值?