MySQL删除两个括号之间的字符

Tom*_*ard 4 mysql sql

我正在浏览MySQL中的一些数据,我需要从看起来像这样的列中删除一些信息.

**sometext** (something else)
Run Code Online (Sandbox Code Playgroud)

遗憾的是,数据不一致; 并非所有数据都遵循这种结构,其中一些只是第一部分.

**sometext**
Run Code Online (Sandbox Code Playgroud)

因此,我需要一种方法来删除括号之间的所有内容,然后删除括号本身,以便离开**sometext**零件.

Zan*_*ien 11

使用此解决方案:

UPDATE tbl
SET    txt = REPLACE(txt, SUBSTRING(txt, LOCATE('(', txt), LENGTH(txt) - LOCATE(')', REVERSE(txt)) - LOCATE('(', txt) + 2), '')
WHERE  txt LIKE '%(%)%'
Run Code Online (Sandbox Code Playgroud)

请记住,由于MySQL的最小正则表达式支持的限制,这将不起作用(将返回空白):

(replacetext1) keepthistext1 (replacetext2) keepthistext2 (replacetext3)
Run Code Online (Sandbox Code Playgroud)

...如果你想保留keepthistext1,keepthistext2因为它将删除第一个左括号和最后一个右括号之间的所有内容.

SQLFiddle演示