postgresql中的正则替换

在PostgreSQL中支持正则替换函数regexp_replace,可以处理replace函数无法完成的情况。比如,在GeoNetwork中若要统一替换一批数据的发布时间,其数据是存储为xml格式,发布时间不统一,可以采用这样的多级SQL查询来实现:

update metadata set data=regexp_replace(data,'<refDate>.*<\/refDate>','<refDate>2013-6-16</refDate>') where
id in (
select t.id
from
(select id,(regexp_matches(data,'<resTitle>(.*)</resTitle>'))[1] as title from metadata) as t
where t.title like '黑河生态水文遥感试验%'
)

说明:
1. regexp_replace替换字符串
2. regexp_matches限制处理范围


已发布

分类

来自

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注