可能重複:
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