在我的MySQL数据库中,有一些字符串如下:I'm something, Infos S. 12
我要搜索的模式是:, Infos S.
,而不是数字(只有数字)和字符串结尾。不区分大小写。
如何搜索并删除它?
我有这个,我想要。
这就是我目前所拥有的:I'm something, Infos S. 12
剩下的怎么办?
编辑:
如果有另一个逗号,它应该被忽略。
意思是:I'm something
(注意UPDATE my_table SET title_col = REPLACE(title_col, SUBSTRING(title_col, LOCATE(', Infos S. ', title_col), LENGTH(title_col) - LOCATE(')', REVERSE(title_col)) - LOCATE(', Infos S. ', title_col) + 2), '') WHERE title_col LIKE '%(%)%';
后面的逗号)应该得到I'm, something, Infos S. 12
。
最佳答案
您可以使用regexp
检查列是否具有指定的模式,然后使用substring
更新子字符串到,
的字符串。
UPDATE my_table
SET title_col = SUBSTRING(title_col,1,locate(', Infos',title_col)-1)
WHERE title_col regexp ', Infos S\\. [0-9]+$'
regexp
默认情况下,match不区分大小写。如果要区分大小写,请使用regexp binary
。where title_col regexp binary ', Infos S\\. [0-9]+$'