| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1149 人关注过本帖
标题:急!请高手将以下功能在SQL中实现,万分感谢!
只看楼主 加入收藏
cjxstudent
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-12-24
收藏
 问题点数:0 回复次数:4 
急!请高手将以下功能在SQL中实现,万分感谢!
表一:每一条记录都包含一个人名,但所处位置不定。
010101张华飞7010101010776.452.5064.451
崔婷0102017010101051074.861.5068.152
0102017010101162873.4邓湘江56.5064.9512
0102017010101121870.458.50孙丽娜64.4518
01020170101011117何水桥70620665
0102017010101162873.4邓湘江56.5064.9512
0102017010101081672.857杨瑞锦064.913
0102017010101090770.159.5苑泰灏064.814
0102017010101131668.661卢佩琳064.814
0102017010101133075.653.5刘欣064.5516


表二:涉及人员的名单
张华飞
赵飞飞
王涛杰
刘建军
赵欣
朱蕾
文锋
崔婷
毛远鹏
王松峰
何水桥
安培
辛靖杰
吴志刚
刘虹杉
丰慧艳
郑要强
邓湘江
杨瑞锦
苑泰灏
卢佩琳
刘欣
吕红
李青龙
孙丽娜
梁冉
刘春华
陈云仲
王德磊
高全民


要求得出以下表格
            样本                              所含姓名
010101张华飞7010101010776.452.5064.451    张华飞
崔婷0102017010101051074.861.5068.152             崔婷
0102017010101162873.4邓湘江56.5064.9512    邓湘江
0102017010101121870.458.50孙丽娜64.4518    孙丽娜
01020170101011117何水桥70620665             何水桥
0102017010101162873.4邓湘江56.5064.9512    邓湘江
0102017010101081672.857杨瑞锦064.913             杨瑞锦
0102017010101090770.159.5苑泰灏064.814    苑泰灏
0102017010101131668.661卢佩琳064.814             卢佩琳
0102017010101133075.653.5刘欣064.5516    刘欣

谢谢!我已在EXCEL中实现这一操作,但现在急需对十万行以上的数据作这一操作,只能求助各位SQL高手。我对SQL只有一些皮毛的认识,请大家多多指点!
搜索更多相关主题的帖子: SQL 湘江 刘欣 
2008-02-01 21:29
yangming
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-7-4
收藏
得分:0 
最苯的
declare @tempStr varchar(100)
declare @tempRet varchar(20)
select @tempstr = '0102017010101162873.4邓湘江56.5064.9512'
select @tempRet = replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@tempStr,'0',''),'1',''),'2',''),'3',''),'4',''),'5',''),'6',''),'7',''),'8',''),'9',''),'.','')
print @tempRet
2008-02-02 11:07
yangming
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-7-4
收藏
得分:0 
写个方法
print dbo.regexReplace('0102017010101162873.4邓湘江56.5064.9512','[0-9.]','',1,1)
create function dbo.regexReplace
(
@source varchar(5000),    --原字符串
@regexp varchar(1000),    --正则表达式
@replace varchar(1000),   --替换值
@globalReplace bit = 0,   --是否是全局替换
@ignoreCase bit = 0       --是否忽略大小?
)
returnS varchar(1000) AS
begin
declare @hr integer
declare @objRegExp integer
declare @result varchar(5000)
 
exec @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Global', @globalReplace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignoreCase
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OAMethod @objRegExp, 'Replace', @result OUTPUT, @source, @replace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OADestroy @objRegExp
IF @hr <> 0 begin
return null
end
 
return @result
end
GO
2008-02-02 11:07
cjxstudent
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-12-24
收藏
得分:0 
谢谢两位!先应急,回过头来慢慢啃明白!
2008-02-02 16:55
dollar2008
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-2-12
收藏
得分:0 
1
我是一个叫鹏鹏的男孩,前几天,我晚自习回家,被一辆大卡车撞死了,司机将我的尸体抛入了路径边的小河里,然后逃走了,你看见了这条消息后,请将她发给4 个论坛,如果没有发,你的妈妈会在1个月后被车撞死,你的爸爸会得绝症,如果你照着上面做了,在5天后,你喜欢的人也会喜欢你,这条消息太毒了,我不得不发
2008-02-12 19:34
快速回复:急!请高手将以下功能在SQL中实现,万分感谢!
数据加载中...
 
   



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

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