| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1399 人关注过本帖
标题:[求助]charindex的使用
只看楼主 加入收藏
chenxiang
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-3-14
收藏
 问题点数:0 回复次数:14 
[求助]charindex的使用
student 表中只有一个字段name,varchar,如果name中含有'.',则将'.'后字符删去,
我想用下列方法解决,可以吗,如果不可以,请各位大虾说下原因
declare @integer int
update student set name=
case
when charindex('.',name)>0 then select @integer=charindex('.',name)
else select @integer=len(name)
end
left(name,@integer)

报错

服务器: 消息 156,级别 15,状态 1,行 4
在关键字 'select' 附近有语法错误。
服务器: 消息 156,级别 15,状态 1,行 5
在关键字 'else' 附近有语法错误。
服务器: 消息 156,级别 15,状态 1,行 6
在关键字 'end' 附近有语法错误。
搜索更多相关主题的帖子: charindex name 服务器 integer select 
2007-09-28 18:33
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

create table #t(
name varchar(50)
)
insert into #t values('ms-sqlserver')
insert into #t values('name.tt')
insert into #t values('efadf')
insert into #t values('cvadfe.aetf')

update #t
set name=case
when charindex('.',name)>1 then left(name,charindex('.',name)-1)
else name
end

select name from #t
drop table #t


我的msn: myfend@
2007-09-28 18:58
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
用替換函數...
update 表 set name=case when charindex('.',name)>1 then replace(name,'.','') else name end

2007-09-29 09:17
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
他是说将.后的字符串删除.不是去掉.

我的msn: myfend@
2007-09-29 09:22
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 

汗...沒看清...


2007-09-29 09:23
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
也只要一句,好像沒必要要那麼多...
update 表 set name=case when charindex('.',name)>1 then left(name, charindex('.',name,1)-1) else name end

2007-09-29 09:26
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

那你不是抄我?..晕菜..


我的msn: myfend@
2007-09-29 09:28
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
暈...誰叫你寫那麼多...

2007-09-29 09:51
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
这样总没有抄人你的吧。。。
update 表 set name=case when charindex('.',name)>1 then stuff(name, len(name)-charindex('.',name,1),'') else name end

2007-09-29 09:54
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
思路是抄我的..

我的msn: myfend@
2007-09-29 10:00
快速回复:[求助]charindex的使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012382 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved