我正在try 更新postgresql数据库表中的文本字段.

UPDATE public.table SET long_text = 'First Line' + CHAR(10) + 'Second line.' WHERE id = 19;

我的预期结果是,细胞将如下所示:

First Line
Second line

上述语法返回一个错误.

推荐答案

你想要chr(10)而不是char(10).

注意这一点,因为这可能是错误的新词."正确"的换行符取决于使用它的客户端.Mac、Windows和Linux都使用不同的换行符.一个浏览器需要<br />个.

对于PostgreSQL 9.1+,这样编写更新可能是最安全的.但请阅读下面链接的文档.

UPDATE public.table 
SET long_text = E'First Line\nSecond line.' 
WHERE id = 19;

在9.1+中,"standard_conforming_strings"的默认值为"开".

show standard_conforming_strings;

Postgresql相关问答推荐

尽管Jooq已经是uuid类型,Jooq仍会启用我的UID,为什么?

Postgres:一次插入多行时自定义upsert(存储过程?)?

在Go中从Kafka读取并写入PostgreSQL时如何处理错误?

使用 pgAdmin 4 v7.4 在 Windows 11 上全新安装 PostgreSQL 15.3-3 无法启动 - 卡在正在加载 pgAdmin 4 v7.4...

在特定距离内创建点的唯一索引

如何将特定值排序为最后,其余记录按 id DESC 排序?

PostgreSQL - 列出模式中的所有唯一约束

Postgres 转储按顺序插入

从 PostgreSQL 中的每个组中抽取 N 个样本

从网址获取第一个字符串

PostgreSQL - 如何获得前一个月和一周的价值?

Psycopg2 在大型 Select 查询中耗尽内存

Heroku Rails 4 无法连接到服务器:connection refused

PostgreSQL ORDER BY 问题 - 自然排序

如何查询存储在数组中的 Rails ActiveRecord 数据

Mac psql/readline - 未加载库

如何将参数值添加到 pgadmin sql 查询?

使用枚举与布尔值?

在 postgres 中插入语句用于没有时区 NOT NULL 的数据类型时间戳,

如果 PostgreSQL count(*) 总是很慢,如何对复杂查询进行分页?