Mysql使用Substring更新表

时间:2013-12-03 10:56:07

标签: mysql

我的表名为master,列名为number

numbervalue = A011017

我想要改变5 = 0改变2

我试过这段代码

update master set number =substr(number,5,1) where number like 'A011%'

我希望在第5个位置更改所有2行的行

请帮帮我

1 个答案:

答案 0 :(得分:2)

这样的东西?

update master 
set number =
concat(substring(number,1,4),"2",substring(number,6))
where number like 'A0110%'
;

您可以相应地调整where子句(不确定是否希望所有行在第5个位置为0或只是以'A011'开头的那些行)。例如,如果要在第5个位置更改“0”的所有行,使其在第5个位置具有“2”,请使用:

update master 
set number =
concat(substring(number,1,4),"2",substring(number,6))
where substring(number,5,1) = "0"
;

...或者如果你想在第5个位置用'2'改变所有行,在第5个位置改为'0',那么使用它:

update master 
set number =
concat(substring(number,1,4),"0",substring(number,6))
where substring(number,5,1) = "2"
;