我在postgres中有此表,我想替换一些单词/字符。 麻烦是问题。如您所见,其中有一些(::)和多余的单词。
我想将RIPE :: AS-RETN RIPE :: AS-RETN6更改为AS-RETN AS-RETN6和...
ID AS-SET
+=====+=====================================+
1 + RIPE::AS-RETN RIPE::AS-RETN6 +
+=====+=====================================+
2 + AS-EASYNET +
+=====+=====================================+
3 + RIPE +
+=====+=====================================+
4 + NTTCOM::AS-5713 NTTCOM::AS-5713-ZA +
+=====+=====================================+
结果应该是
ID AS-SET
+=====+=====================================+
1 + AS-RETN AS-RETN6 +
+=====+=====================================+
2 + AS-EASYNET +
+=====+=====================================+
3 + +
+=====+=====================================+
4 + AS-5713 AS-5713-ZA +
+=====+=====================================+
因此,它删除了:和多余的空格以及RIPE一词。 有人可以帮忙吗!谢谢
答案 0 :(得分:0)
regexp_replace
可以满足您的需求。
尝试一下(更改表/列的名称以适合):
SELECT regexp_replace(as_set, '(RIPE::)|(RIPE ?)|(NTTCOM::)', '', 'g')
FROM my_table;
如果结果看起来不错,请运行更新:
UPDATE my_table
SET as_set = regexp_replace(as_set, '(RIPE::)|(RIPE ?)|(NTTCOM::)', '', 'g')