Postgres regexp_replace查询用法

时间:2015-05-22 11:35:24

标签: regex postgresql

我们有一个具有特定前缀值的列,后跟动态数字,例如

AAAA0000
AAAA0001
AAAA0002
AAAA0003
... 
...

现在我们要在其存在的所有行中将前缀值从AAAA更新为BBBB。我尝试过使用regexp_replacereplace以及其他可能的功能,但没有成功。

你能帮我做一下吗?

3 个答案:

答案 0 :(得分:1)

更新table_name设置the_column =' BBBB' || substr(the_column,6,13)其中the_column类似于' AAAA%&#39 ;;

其中,6是数字的起始位置,13是字符串的结束位置。 所以价值' BBBB'将更新到位置5,然后是上面提取的子字符串的连接。

答案 1 :(得分:0)

我认为这里不需要正则表达式:

update the_table
  set the_column = 'BBBB'||substr(the_column, 5)
where the_column like 'AAAA%';

答案 2 :(得分:0)

以下是regexp_replace的使用方式:

update the_table
   set the_column = regexp_replace(the_column, '^AAAA', 'BBBB');