依然是字符串截取问题,有测试数据 本帖最后由 shafo1 于 2012-03-20 02:38:57 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CREATE table tb (id int,SUBMITTIME datetime ,influence varchar(500))insert tb values(172,'2012-03-14 22:01:42.000','客户端门户:客户端门户,客户端登陆,客户端升级,视频,音乐,游戏,软件,主题,品牌店,热卖场,营业厅,书城,创业计划,我的MM,广告,其他;WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')insert tb values(168,'2012-03-14 11:46:18.000','客户端门户:客户端登陆;WAP门户:WAP门户,登陆,订购,商品展示,其他')insert tb values(153,'2012-03-13 19:24:57.000','客户端门户:营业厅;WAP门户:登陆')insert tb values(81,'2010-08-04 00:00:00.000','WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')insert tb values(71,'2018-01-05 00:00:00.000','WAP门户:订购')gocreate function dbo.f_str(@influence varchar(500)) returns varchar(1000)asbegin declare @str as varchar(1000) set @str = '' declare @tmp as varchar(1000) set @influence = @influence + ';' while charindex(';' , @influence) > 0 begin set @tmp = left(@influence , charindex(';' , @influence) - 1) set @tmp = substring(@tmp , charindex(':' , @tmp) + 1 , len(@tmp)) + ',' while charindex(',' , @tmp) > 0 begin set @str = @str + left(@influence,charindex(':', @influence)-1) + '_' + left(@tmp,charindex(',',@tmp)) set @tmp = substring(@tmp , charindex(',' , @tmp) + 1 , len(@tmp)) end set @influence = substring(@influence , charindex(';' , @influence) + 1 ,len(@influence)) end return substring(@str,1,len(@str)-1)endgo--调用函数select id , influence = dbo.f_str(influence) from tb drop function dbo.f_strdrop table tb/*id influence ----------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 172 客户端门户_客户端门户,客户端门户_客户端登陆,客户端门户_客户端升级,客户端门户_视频,客户端门户_音乐,客户端门户_游戏,客户端门户_软件,客户端门户_主题,客户端门户_品牌店,客户端门户_热卖场,客户端门户_营业厅,客户端门户_书城,客户端门户_创业计划,客户端门户_我的MM,客户端门户_广告,客户端门户_其他,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户168 客户端门户_客户端登陆,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他153 客户端门户_营业厅,WAP门户_登陆81 WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户_其他,开发者社区_开发者社区,开发者社区_MM学院,开发者社区_登陆,开发者社区_页面展示,开发者社区_其他,短信门户_短信门户,短信门户_短信门户71 WAP门户_订购(所影响的行数为 5 行)*/ --上面显示结果不完整,调整了一下查询分析器中的行显示长度,重贴如下:CREATE table tb (id int,SUBMITTIME datetime ,influence varchar(500))insert tb values(172,'2012-03-14 22:01:42.000','客户端门户:客户端门户,客户端登陆,客户端升级,视频,音乐,游戏,软件,主题,品牌店,热卖场,营业厅,书城,创业计划,我的MM,广告,其他;WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')insert tb values(168,'2012-03-14 11:46:18.000','客户端门户:客户端登陆;WAP门户:WAP门户,登陆,订购,商品展示,其他')insert tb values(153,'2012-03-13 19:24:57.000','客户端门户:营业厅;WAP门户:登陆')insert tb values(81,'2010-08-04 00:00:00.000','WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')insert tb values(71,'2018-01-05 00:00:00.000','WAP门户:订购')gocreate function dbo.f_str(@influence varchar(500)) returns varchar(1000)asbegin declare @str as varchar(1000) set @str = '' declare @tmp as varchar(1000) set @influence = @influence + ';' while charindex(';' , @influence) > 0 begin set @tmp = left(@influence , charindex(';' , @influence) - 1) set @tmp = substring(@tmp , charindex(':' , @tmp) + 1 , len(@tmp)) + ',' while charindex(',' , @tmp) > 0 begin set @str = @str + left(@influence,charindex(':', @influence)-1) + '_' + left(@tmp,charindex(',',@tmp)) set @tmp = substring(@tmp , charindex(',' , @tmp) + 1 , len(@tmp)) end set @influence = substring(@influence , charindex(';' , @influence) + 1 ,len(@influence)) end return substring(@str,1,len(@str)-1)endgo--调用函数select id , influence = dbo.f_str(influence) from tb drop function dbo.f_strdrop table tb/*id influence ----------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 172 客户端门户_客户端门户,客户端门户_客户端登陆,客户端门户_客户端升级,客户端门户_视频,客户端门户_音乐,客户端门户_游戏,客户端门户_软件,客户端门户_主题,客户端门户_品牌店,客户端门户_热卖场,客户端门户_营业厅,客户端门户_书城,客户端门户_创业计划,客户端门户_我的MM,客户端门户_广告,客户端门户_其他,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户_其他,开发者社区_开发者社区,开发者社区_MM学院,开发者社区_登陆,开发者社区_页面展示,开发者社区_其他,短信门户_短信门户,短信门户_短信门户168 客户端门户_客户端登陆,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他153 客户端门户_营业厅,WAP门户_登陆81 WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户_其他,开发者社区_开发者社区,开发者社区_MM学院,开发者社区_登陆,开发者社区_页面展示,开发者社区_其他,短信门户_短信门户,短信门户_短信门户71 WAP门户_订购(所影响的行数为 5 行)*/ 求一条简单的sql语句 请教如何把垂直排列变成水平排列? 修改觸發器,請指教 高手帮忙分析一个这个存储过程,问题出在什么地方?按条件动态查询!! 在数据量大的情况下的搜索问题!请教各位 主键建立问题 偶像们 帮忙 sql 2005与sqlce合并复制的问题 使用皱建大哥的数据库完整和差异备份还原方法出现问题,希望帮忙解决 令excel成为订阅者 在SQL Server中怎么进行级联删除?即删除一个表的一个记录后,自动删除用外键与它相关联的表的相应记录. sqlserver中求最短路径的问题 SQL 怎样递归查询出树状结构数据过滤掉没有父结点的?
insert tb values(172,'2012-03-14 22:01:42.000','客户端门户:客户端门户,客户端登陆,客户端升级,视频,音乐,游戏,软件,主题,品牌店,热卖场,营业厅,书城,创业计划,我的MM,广告,其他;WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')
insert tb values(168,'2012-03-14 11:46:18.000','客户端门户:客户端登陆;WAP门户:WAP门户,登陆,订购,商品展示,其他')
insert tb values(153,'2012-03-13 19:24:57.000','客户端门户:营业厅;WAP门户:登陆')
insert tb values(81,'2010-08-04 00:00:00.000','WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')
insert tb values(71,'2018-01-05 00:00:00.000','WAP门户:订购')
gocreate function dbo.f_str(@influence varchar(500)) returns varchar(1000)
as
begin
declare @str as varchar(1000)
set @str = ''
declare @tmp as varchar(1000)
set @influence = @influence + ';'
while charindex(';' , @influence) > 0
begin
set @tmp = left(@influence , charindex(';' , @influence) - 1)
set @tmp = substring(@tmp , charindex(':' , @tmp) + 1 , len(@tmp)) + ','
while charindex(',' , @tmp) > 0
begin
set @str = @str + left(@influence,charindex(':', @influence)-1) + '_' + left(@tmp,charindex(',',@tmp))
set @tmp = substring(@tmp , charindex(',' , @tmp) + 1 , len(@tmp))
end
set @influence = substring(@influence , charindex(';' , @influence) + 1 ,len(@influence))
end
return substring(@str,1,len(@str)-1)
end
go--调用函数
select id , influence = dbo.f_str(influence) from tb drop function dbo.f_strdrop table tb/*
id influence
----------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
172 客户端门户_客户端门户,客户端门户_客户端登陆,客户端门户_客户端升级,客户端门户_视频,客户端门户_音乐,客户端门户_游戏,客户端门户_软件,客户端门户_主题,客户端门户_品牌店,客户端门户_热卖场,客户端门户_营业厅,客户端门户_书城,客户端门户_创业计划,客户端门户_我的MM,客户端门户_广告,客户端门户_其他,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户
168 客户端门户_客户端登陆,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他
153 客户端门户_营业厅,WAP门户_登陆
81 WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户_其他,开发者社区_开发者社区,开发者社区_MM学院,开发者社区_登陆,开发者社区_页面展示,开发者社区_其他,短信门户_短信门户,短信门户_短信门户
71 WAP门户_订购(所影响的行数为 5 行)
*/
insert tb values(172,'2012-03-14 22:01:42.000','客户端门户:客户端门户,客户端登陆,客户端升级,视频,音乐,游戏,软件,主题,品牌店,热卖场,营业厅,书城,创业计划,我的MM,广告,其他;WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')
insert tb values(168,'2012-03-14 11:46:18.000','客户端门户:客户端登陆;WAP门户:WAP门户,登陆,订购,商品展示,其他')
insert tb values(153,'2012-03-13 19:24:57.000','客户端门户:营业厅;WAP门户:登陆')
insert tb values(81,'2010-08-04 00:00:00.000','WAP门户:WAP门户,登陆,订购,商品展示,其他;WWW门户:WWW门户,登陆,订购,商品展示,其他;开发者社区:开发者社区,MM学院,登陆,页面展示,其他;短信门户:短信门户,短信门户')
insert tb values(71,'2018-01-05 00:00:00.000','WAP门户:订购')
gocreate function dbo.f_str(@influence varchar(500)) returns varchar(1000)
as
begin
declare @str as varchar(1000)
set @str = ''
declare @tmp as varchar(1000)
set @influence = @influence + ';'
while charindex(';' , @influence) > 0
begin
set @tmp = left(@influence , charindex(';' , @influence) - 1)
set @tmp = substring(@tmp , charindex(':' , @tmp) + 1 , len(@tmp)) + ','
while charindex(',' , @tmp) > 0
begin
set @str = @str + left(@influence,charindex(':', @influence)-1) + '_' + left(@tmp,charindex(',',@tmp))
set @tmp = substring(@tmp , charindex(',' , @tmp) + 1 , len(@tmp))
end
set @influence = substring(@influence , charindex(';' , @influence) + 1 ,len(@influence))
end
return substring(@str,1,len(@str)-1)
end
go--调用函数
select id , influence = dbo.f_str(influence) from tb drop function dbo.f_strdrop table tb/*
id influence
----------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
172 客户端门户_客户端门户,客户端门户_客户端登陆,客户端门户_客户端升级,客户端门户_视频,客户端门户_音乐,客户端门户_游戏,客户端门户_软件,客户端门户_主题,客户端门户_品牌店,客户端门户_热卖场,客户端门户_营业厅,客户端门户_书城,客户端门户_创业计划,客户端门户_我的MM,客户端门户_广告,客户端门户_其他,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户_其他,开发者社区_开发者社区,开发者社区_MM学院,开发者社区_登陆,开发者社区_页面展示,开发者社区_其他,短信门户_短信门户,短信门户_短信门户
168 客户端门户_客户端登陆,WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他
153 客户端门户_营业厅,WAP门户_登陆
81 WAP门户_WAP门户,WAP门户_登陆,WAP门户_订购,WAP门户_商品展示,WAP门户_其他,WWW门户_WWW门户,WWW门户_登陆,WWW门户_订购,WWW门户_商品展示,WWW门户_其他,开发者社区_开发者社区,开发者社区_MM学院,开发者社区_登陆,开发者社区_页面展示,开发者社区_其他,短信门户_短信门户,短信门户_短信门户
71 WAP门户_订购(所影响的行数为 5 行)
*/