繁体   English   中英

SQL UPDATE用空字符串替换方括号内的所有文本

[英]SQL UPDATE to replace all text within brackets with empty string

在下面的查询列中,我想删除括号和其中的文本。

样本数据(id,查询):

25, some data (example1) more text
28, text (example2)

转换成:

25, some data more text
28, text

我尝试了以下SQL,但值没有更改:

UPDATE mytable
SET query = REPLACE(query, '%(%)%', '')
WHERE query like '%(%)%';

我将使用regexp_replace()来解决此问题:

select regexp_replace('some data (example1) more text', '\(.*\)', '')

您只需将表达式放在set子句中:

UPDATE mytable
     SET query = regexp_replace(query, '\(.*\)', '')
WHERE query like '%(%)%';

尝试这个

replace(regexp_replace('some data (example1) more text', '(?<=\()(.*?)(?=\))', ''), '()', '');

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM