繁体   English   中英

替换mysql中的数字

[英]Replace numbers in mysql

我想用查询列在Mysql表中用逗号分隔的值完全匹配替换特定数字。

例如,值是: 0,40,140,240,340,440
现在我想用50代替40,那么结果应该是: 0,50,140,240,340,440

请注意,该垂直列中的数据类型为“文本”。

我同意上面的评论,这不是存储此数据的好方法,但是我知道有时候业务需求要求我们做的事情不是最优的。 因此,本着这种精神,您可以编写将执行以下操作的SQL:

  1. 在字符串的开头和结尾添加逗号
  2. 将“,40”替换为“,50”
  3. 删除开头和结尾的逗号

执行步骤1和步骤3,您始终可以假设所有条目都以逗号开头和结尾,这样您就不会意外将140更改为150或将400更改为500。这看起来像这样:

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

当我在您的字符串上尝试该结果时,结果为“ 0,50,140,​​240,340,440”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM