删除方括号之间的文本

ab2*_*b21 4 mysql sql

我试图删除方括号之间的文本,但它似乎只删除了方括号。

SELECT Replace(Replace(aud_desc, '[', ''), ']', '') from _audit
Run Code Online (Sandbox Code Playgroud)

aud_descThis is [a] test但上述我已经得到了它的显示This is a test,我不知道为什么它不删除括号中的文字以及。

我错过了什么吗?

Mat*_*att 5

使用REPLACE, LENGTH, LOCATE, REVERSE&SUBSTRING函数。

SELECT REPLACE(aud_desc, SUBSTRING(aud_desc, LOCATE('[', aud_desc), LENGTH(aud_desc) - LOCATE(']', REVERSE(aud_desc)) - LOCATE('[', aud_desc) + 2), '') AS aud_desc
FROM _audit
Run Code Online (Sandbox Code Playgroud)

输入:

aud_desc

word [brakcet] word
[brakcet] word
word [brakcet]
Run Code Online (Sandbox Code Playgroud)

输出:

aud_desc

word word
word
word
Run Code Online (Sandbox Code Playgroud)

SQL 小提琴:http ://sqlfiddle.com/#!9/178bb/1/0