2013-08-28 132 views
1

明白了保持串像這樣的列:MySQL的 - 替換列字符串中的特定字符

{"plan-36";"id-36";} 

我要檢查此列的每個字符串,如果我的條件匹配,它會改變一個特定的字符(例如,將號碼36更改爲99)。這是我到目前爲止:

SELECT string_column 
FROM example_table 
WHERE 
    INSTR(string_column,'plan-36') > 0 
OR 
    INSTR(string_column,'id-36') > 0 

這隻返回有'plan-36'或'id-36'字符串在他們的行。我需要的是 - 如果這一行包含這樣的字符串,我需要更改36值,比如說99

我需要哪些SQL函數?

回答

2
UPDATE example_table 
SET string_column = REPLACE(string_column, "36", "99") 
WHERE 
    INSTR(string_column,'plan-36') > 0 
OR 
    INSTR(string_column,'id-36') > 0 

將是語法,這將更新所有36到99的實例,請小心並先測試備份數據。

這可能是更好的使用這個

SET string_column = REPLACE(string_column, "-36", "-99") 

其中包括短跑

+0

謝謝,我想這就是我一直在尋找 – Edgar

+0

@Edgar標誌的答案是正確的,如果這是你在做什麼尋找。 – Ikong