我有一个varchar字段,我正在将此字段迁移到JSON类型字段。有些数据有制表符,当试图插入新的JSON字段时,它告诉我这个错误:DETAIL:值为0x09的字符必须被转义。
我试图逃避并删除像这样的制表符字符,但没有成功:
v_text:=REPLACE(text, '\x09', '');
或
v_text:=REPLACE(text, '0x09', '');
如何从文本中删除所有制表符字符? 感谢
答案 0 :(得分:2)
您可以尝试使用正则表达式:
select regexp_replace(text, '\t', '', 'g');
答案 1 :(得分:0)
只需将制表机放在replace
中(因为格式化替换了带有空格的制表符,所以只需将制表符插入到[tab]
所示的位置):
SELECT replace('"a[tab]"', '[tab]', '')::json;