修改SQL数据

来源:百度知道 编辑:UC知道 时间:2024/05/22 08:34:12
有一个表名:lianxi 内亦custno字段
custno
0000101
0000102
0000103
0000104
想把custno字段前三位000都替换为002,后四位不变,如何写SQL
谢谢

完整解答(已经调试):
update lianxi set custno=concat(decode(substr(custno,1,3),'000','002',substr(custno,1,3)),substr(custno,4))

说明:
concat(前三位字符,后四位) //连接字符串
decode() //判断前三位是否为'000'如是刚使其前三位为'002'否则的话还为原来的前三位字符;
substr() //取子串

update lianxi
set custno ='002' + substring(custno,4,4)