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

SQL UPDATE将括号内的所有文本替换为空字符串,sql,postgresql,sql-update,Sql,Postgresql,Sql Update,在下面的查询列中,我想删除括号和括号内的文本 样本数据(id、查询): 转换为: 25, some data more text 28, text 我尝试了以下SQL,但值没有更改: UPDATE mytable SET query = REPLACE(query, '%(%)%', '') WHERE query like '%(%)%'; 试试这个 replace(regexp_replace('some data (example1) more text', '(?<=\()(.

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

样本数据(id、查询):

转换为:

25, some data more text
28, text
我尝试了以下SQL,但值没有更改:

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

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

replace(regexp\u replace('some data(example1))more text',”(?我将使用
regexp\u replace()
来处理这个问题,如下所示:

select regexp_replace('some data (example1) more text', '\(.*\)', '')
您只需将表达式放在
set
子句中:

UPDATE mytable
     SET query = regexp_replace(query, '\(.*\)', '')
WHERE query like '%(%)%';
replace()
不支持通配符。您想要
regexp\u replace()
UPDATE mytable
     SET query = regexp_replace(query, '\(.*\)', '')
WHERE query like '%(%)%';