MySQL - 替换列字符串中的特定字符

时间:2013-08-28 08:10:16

标签: 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函数?

1 个答案:

答案 0 :(得分: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")

包括短划线