2013-08-28 100 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