删除方括号内的文字
问题描述:
我想删除方括号之间的文本,但它似乎只是删除括号。删除方括号内的文字
aud_desc
是This is [a] test
但上述我有它显示This is a test
,我不知道为什么它不是在括号内删除文本为好。
我错过了什么吗?
答
使用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
输入:
aud_desc
word [brakcet] word
[brakcet] word
word [brakcet]
输出:
aud_desc
word word
word
word
答
试试这个
SELECT CONCAT(SUBSTRING_INDEX(aud_desc,'[',1),SUBSTRING_INDEX(aud_desc,']',-1))
FROM _audit;
因为你只是用空格替换括号 – Abhis
replace会替换与你的模式匹配给定的新字符串的字符串部分,在你的情况下你已经要求它用''替换'',然后之后,用''替换']' – pancho018