在SQLSERVER 2000数据里的某一个表,例如:用户信息表 userinfo 里有一字段是 address ,里面的数据如下:“四川省遂宁市市中区石洞镇18村”,:“四川省遂宁市市中区观音乡15村”,…………
我现在需要把 里面的“四川省遂宁市市中区……” 改成“四川省安居区………”
也就是说,把ADDRESS字段中的前9个字全部更改为“四川剩安居区”6个字,
兄弟门帮忙呀,小弟我正在四川出差,情况紧急,SOS!!!!
是不是可以在ADDRESS字段中从第18个字符开始拷贝字符串,然后把得到的字符串在前面加上“四川省安居区”???
我现在需要把 里面的“四川省遂宁市市中区……” 改成“四川省安居区………”
也就是说,把ADDRESS字段中的前9个字全部更改为“四川剩安居区”6个字,
兄弟门帮忙呀,小弟我正在四川出差,情况紧急,SOS!!!!
是不是可以在ADDRESS字段中从第18个字符开始拷贝字符串,然后把得到的字符串在前面加上“四川省安居区”???
from userinfo a
where substring(a.address,1,18)='四川省遂宁市市中区'
sql语句如下:
update userinfo set address='四川省安居区'+substring(address,19,len(address)-18)
应该没问题,我试过的,你试试吧
where left(address,18)='四川省遂宁市市中区石洞镇18村'
from userinfo a
where substring(a.address,1,18)='四川省遂宁市市中区'
果然是高手。
update userinfo set address='四川省安居区'+substring(address,10,len(address)-19) where substring(address,1,10)='四川省遂宁市市中区'
update userinfo set address='四川省安居区'+substring(address,19,len(address)-19) where substring(address,1,10)='四川省遂宁市市中区'
楼上兄弟,不好意思,我开始写错了,你们现在可以翻版了!
1、有replace居然不用
2、where substring(address,1,10)='四川省遂宁市市中区' 的查询时间花费和没有设置查询条件一样,这种写法SQLServer要对所有的address进行计算,用like则不用update userinfo set address=replace(address,'四川省遂宁市市中区','四川省安居区')
where address like '%四川省遂宁市市中区%'//设置查询条件只是为了减少搜索范围