SQLite连接中的新行字符\n

Jan*_*nka 18 sqlite newline

我知道,在某些编程语言中,如果您执行以下操作:

'This is on first line \n This is on second line'
Run Code Online (Sandbox Code Playgroud)

然后它会像这样正确显示:

This is on first line
This is on second line
Run Code Online (Sandbox Code Playgroud)

当我在SQLite数据库中连接一个字符串时

SELECT *, [FIELD1] || '\n'  || [FIELD2] from TABLE
Run Code Online (Sandbox Code Playgroud)

(其中[FIELD1] =这是在第一行[FIELD2] =这是在第二行)

它显示如下:

This is on first line \n This is on second line
Run Code Online (Sandbox Code Playgroud)

有没有理由不正确显示\n字符?

CL.*_*CL. 26

SQL没有反斜杠转义.

您可以直接在查询中编写字符串中的换行符:

SELECT [Field1] || '
' || [Field2] FROM MyTable
Run Code Online (Sandbox Code Playgroud)

或使用blob文字:

SELECT [Field1] || x'0a' || [Field2] FROM MyTable
Run Code Online (Sandbox Code Playgroud)

或使用char函数:

SELECT [Field1] || char(10) || [Field2] FROM MyTable
Run Code Online (Sandbox Code Playgroud)

  • `char()` 仅适用于最近的 SQLite,如果您使用的是像 CentOS 这样的长期支持的非常老的发行版,则可能不存在。 (2认同)