在我的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]+$'

09-26 09:37