Escape制表符字符PostgreSQL

时间:2015-04-28 07:29:21

标签: json postgresql escaping plpgsql

我有一个varchar字段,我正在将此字段迁移到JSON类型字段。有些数据有制表符,当试图插入新的JSON字段时,它告诉我这个错误:DETAIL:值为0x09的字符必须被转义。

我试图逃避并删除像这样的制表符字符,但没有成功:

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

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

如何从文本中删除所有制表符字符? 感谢

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

只需将制表机放在replace中(因为格式化替换了带有空格的制表符,所以只需将制表符插入到[tab]所示的位置):

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