当前位置: 代码迷 >> Sql Server >> 如若字段第7至第9位全是0 的话,则将字段第7位字符改为小写字母 a
  详细解决方案

如若字段第7至第9位全是0 的话,则将字段第7位字符改为小写字母 a

热度:133   发布时间:2016-04-25 01:17:23.0
如果字段第7至第9位全是0 的话,则将字段第7位字符改为小写字母 a
表 userinfo 中有一中文文字段 "单位代码" , 长度为固定长度 12 ,形如以下格式:


ID 单位代码

12 220202003001
13 220202003001
14 220202000000
15 220202000000
16 220203015000
17 220203015000


现在我要做的是 把单位代码里字段 220202 000 000 如果第7到第9位全是 0 的话,(即红色部分)那么就把第7位那个0改为字母a
比如:

220202000000 改为 220202a00000

------解决方案--------------------
SQL code
UPDATE TB SET 单位代码=SUBSTRING(单位代码,1,6)+'a'+RIGHT(单位代码,5) WHERE SUBSTRING(单位代码,7,3)='000'
------解决方案--------------------
update userinfo set 单位代码=substring(单位代码,0,7)+'a'+substring(单位代码,7,5) 
where substring(单位代码,7,3)='000'
------解决方案--------------------
SQL code
UPDATE tb SET 单位代码=STUFF(单位代码,7,1,'a') WHERE SUBSTRING(单位代码,7,3)='000'