可能重复:
How to do a regular expression replace in MySQL?MySQL查询字符串替换
我试图取代以 ' “取而代之的是”'弦运动= qwertysomerandomtext?'。
我尝试使用通配符来表示'?campaign =%_“,并用'''替换。但发现通配符不与替换工作。
有没有其他方法可以解决这个问题?我想过使用类似substring的东西。但到目前为止,没有发现对我有用的东西。
希望有人可以帮助我解决这个问题。
问候 BNZ
可能重复:
How to do a regular expression replace in MySQL?MySQL查询字符串替换
我试图取代以 ' “取而代之的是”'弦运动= qwertysomerandomtext?'。
我尝试使用通配符来表示'?campaign =%_“,并用'''替换。但发现通配符不与替换工作。
有没有其他方法可以解决这个问题?我想过使用类似substring的东西。但到目前为止,没有发现对我有用的东西。
希望有人可以帮助我解决这个问题。
问候 BNZ
我尝试更换与
'?campaign=qwertysomerandomtext"'
开始和'"'
替换字符串。
考虑这一请求从字面上看,它成为
UPDATE t SET s = '"' WHERE s = '?campaign=qwertysomerandomtext"'
我从你的问题复制的双引号,无论是在搜索字符串的结束和替换字符串内。如果这是一个错误,请调整。
如果随机文本是一个占位符,应该是一个通配符,在你的第二段所述,然后使用
UPDATE t SET s = '"' WHERE s = '?campaign=%_"'
如果要替换的文本是在其他一些字符串的结尾,而不是在该beginnning你问的方式,那么你可以做
UPDATE t SET s = LEFT(s, LOCATE('?campaign=', s)) WHERE s = '?campaign=%_"'
此标识的战役东西的位置,并删除并遵循一切。
不需要正则表达式。一般来说,你可以通过结合LOCATE
,LEFT
,RIGHT
,SUBSTR
和CONCAT
来实现。
有没有一种方法可以预处理表格? (update x set col =“where col like'?campaign =%') – stb 2012-07-25 12:55:12
@lqez,没有重复,因为简单的替换不需要正则表达式 – MvG 2012-07-25 13:56:09
@MvG,OMG,它的确如此,我的错误,很好的答案。 – lqez 2012-07-25 13:58:00