SQL数据库替换其中一个字段的部分内容

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:20:33
id salecom salestyle pay
08062001 1010010001 现金 100
08062002 1010020001 现金 12.3
08062003 1010010002 现金 20.2
08062004 1010010003 现金 30.2
.
.
比方替换表中字段salecom中前面6位数字为 101001为201002

后面的四位数不动

能给一个sql语句吗?
还有如果只修改 salecom 字段中 前面的那个1改成8
例如 1010010001 -> 8010010001
3010020012 -> 8010020012

能分别给出一段SQL执行语句吗?
针对我刚刚提出的表字段
谢谢
楼下的回答
用了replace (salecom , substring(salecom,1,1) , '8' )这条语句
发现运行结果
1010010001 -> 8080080008
3010020012 -> 8010020012
第二条记录是达到了目的,可是第一条所有的1都变成了8

查询
select id,
replace (salecom , substring(salecom,1,6) , '201002' )
salestyle,
pay
from biao

跟新
update biao
set salecom = replace (salecom , substring(salecom,1,6) , '201002' )

replace (salecom , substring(salecom,1,6) , '201002' )
改成
replace (salecom , substring(salecom,1,1) , '8' )就可以了

还有如果只修改 salecom 字段中 前面的那个1改成8
例如 1010010001 -> 8010010001
3010020012 -> 8010020012

把第一个字符改成‘8’,我都是这样写:
update 表名 set salecon='8'+substring(2,9)

就是将‘8’+字段本身的后面九位赋值给salecon

如果在ORACLE的话SUBSTRING改成SUBSTR