PostgreSQL换行符

Ali*_*min 36 sql postgresql

如何在PostgreSQL中使用换行符?

这是我的实验中不正确的脚本:

select 'test line 1'||'\n'||'test line 2';
Run Code Online (Sandbox Code Playgroud)

我希望sql编辑器显示上面脚本的结果:

test line 1
test line 2
Run Code Online (Sandbox Code Playgroud)

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

test line 1 test line 2
Run Code Online (Sandbox Code Playgroud)

a_h*_*ame 72

反斜杠在SQL中没有特殊含义,因此'\n'后跟字符的反斜杠n

要在字符串文字中使用"转义序列",您需要使用"扩展"常量:

select 'test line 1'||E'\n'||'test line 2';
Run Code Online (Sandbox Code Playgroud)

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

select 'test line 1'||chr(10)||'test line 2';
Run Code Online (Sandbox Code Playgroud)

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

select 'test line 1
test line 2';
Run Code Online (Sandbox Code Playgroud)

是否在SQL客户端中实际显示为两行,取决于您的SQL客户端.

  • 仅扩展字符串的换行符部分有点傻,对吗?你可以做'E'test line 1 \ntest line 2'` (11认同)