risingsun 发表于 2008-7-8 23:57:53

替换

大家都过来帮忙嘛!!!
我有这样一张表:
商品编码   商品名称   .............
23312331   可口可乐 撤柜    ...............
23312332    王老吉撤柜    ..............
23312333    雪碧    撤柜    ..............
23312334    娃哈哈撤柜    ........
我想去掉撤柜两个字,SQL怎么写???

guilber 发表于 2008-7-9 08:22:55

看看是不是要这个结果
select rtrim(substring('商品名称',1,charindex('撤柜','商品名称')-1))
举例如下:
select rtrim(substring('可口可乐 撤柜',1,charindex('撤柜','可口可乐 撤柜')-1))
结果为:
'可口可乐'

risingsun 发表于 2008-7-9 12:04:34

还不行

错误代码(0001):error    c0195:invalid length parameter passed to the substring function.
原表:
商品编码商品名称
23312331   可口可乐 新
23322332    雪碧    新
我想得到

商品编码商品名称
23312331   可口可乐
23322332    雪碧   
我写的是:update 表名 set商品名称=rtrim(substring('商品名称',1,charindex('新''商品名称')-1))

risingsun 发表于 2008-7-9 17:07:37

帮帮忙

高手帮帮我嘛,急用

guilber 发表于 2008-7-9 18:23:17

create table testa
(
商品编号 varchar(10)   not null,
商品名称 varchar(200) not null
)
go

insert into testa values('23312331','可口可乐 新')
go
insert into testa values('23322332','雪碧    新')
go

select * from testa
go

商品编号      商品名称
'23312331'   '可口可乐 新'
'23322332'   '雪碧    新'

update testa set 商品名称 = rtrim(substring(商品名称,1,charindex('新',商品名称)-1))
go
select * from testa
go
商品编号      商品名称
'23312331'   '可口可乐'
'23322332'   '雪碧'
页: [1]
查看完整版本: 替换

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com