1

有一个列保留这样的字符串:

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

我想检查此列的每个字符串,如果符合我的条件,它将更改此字符串的特定字符(例如将数字更改3699)。这是我到目前为止得到的:

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 函数?

4

1 回答 1

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")

其中包括破折号

于 2013-08-28T08:14:04.103 回答