日期:2014-05-17  浏览次数:20475 次

如果字段第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'