sql改变这样的数据!

来源:百度知道 编辑:UC知道 时间:2024/09/21 13:35:11
如下列:
a
FFC1001AD01
FFC1001AD02
FFC1001AD03
因设计时考虑不当,号码段位数过少,现在想在第三位加上一个数字0
变成如下数据.
a
FFC01001AD01
FCC01001AD02
FCC01001AD03
请问SQL 命令该怎么写呢?
a为列名.

update 表 set a=SUBSTRING(a,1,3)+'0'+SUBSTRING(a,4,20)

oracle 写法.
update tb set a=repalce(substr(a,1,3),substr(a,1,3)||'0')
sqlserver 写法.
update tb set a=repalce(substring(a,1,3),substring(a,1,3)+'0')

楼上正解, 1楼错误

UPDATE TEST
SET A = SUBSTR(TEST.A,1,3) || '0'|| SUBSTR(TEST.A,4,LENGTH(TEST.A)-3)

用 STUFF 这个函数吧,简单明了,SQL2000下测试OK

update TableName set a=STUFF(a,4,0,'0')