在mysql中替换数字

0yycz8jy  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(538)

我想在mysql表的query列中,用逗号分隔值中的精确匹配来替换特定的数字。
例如,值为: 0,40,140,240,340,440 现在我想用50来代替40,结果是: 0,50,140,240,340,440 请注意,该列中的数据类型为“text”。

9q78igpj

9q78igpj1#

我同意上面的评论,即这不是存储这些数据的好方法,但我知道有时业务需求要求我们做一些不太理想的事情。因此,本着这种精神,您可以编写sql:
在字符串的开头和结尾添加逗号
将',40'替换为',50,'
删除前导和尾随逗号
执行步骤1和步骤3可以让您始终假设所有条目都以逗号开头和结尾,这样您就不会意外地将140更改为150或400更改为500。所以看起来像这样:

SUBSTRING(REPLACE(',' + test + ',', ',40,', ',50,'), 2, LEN(test))

当我在你的字符串上尝试时,结果是“0,501402403440440”。

相关问题