转义制表符 PostgreSQL

Escape tab character PostgreSQL

我有一个 varchar 字段,我正在将此字段迁移到 JSON 类型的字段。一些数据有制表符,当试图插入到新的 JSON 字段时,它告诉我这个错误: DETAIL: Character with value 0x09 must be escaped.

我正尝试像这样转义和删除制表符但没有成功:

v_text:=REPLACE(text, '\x09', '');

 v_text:=REPLACE(text, '0x09', '');

如何删除文本中的所有制表符? 谢谢

只需将制表符按原样放在 replace 中(SO 格式将制表符替换为空格,因此只需将制表符插入到 [tab] 的位置):

SELECT replace('"a[tab]"', '[tab]', '')::json;

您可以尝试使用正则表达式:

select regexp_replace(text, '\t', '', 'g');