当前位置: 代码迷 >> Sql Server >> 求SQL语句,高手们来帮小弟我拆字段
  详细解决方案

求SQL语句,高手们来帮小弟我拆字段

热度:73   发布时间:2016-04-27 13:55:19.0
求SQL语句,高手们来帮我拆字段
现表里有一列,存有如下这样的数据


[email protected];
[email protected];[email protected];
[email protected];[email protected];[email protected];[email protected];
.
.
.
.
都是这样的格式 工号+@+人名,多个人就用;隔开的
每一行可能会存不止一个人名,我现要把拆成

朱岚;
王洁琪;刘桂珍;
徐婷;王洁琪;谢静佳;刘照晶;
这样的  

求解!

------解决方案--------------------
SQL code
create table tb(col varchar(100))insert into tb values([email protected];')insert into tb values([email protected];[email protected];')insert into tb values([email protected];[email protected];[email protected];[email protected];')gocreate function dbo.f_str(@col varchar(100)) returns varchar(100)asbegin  declare @str varchar(100)  declare @i as int  declare @j as int  set @str = ''  set @i = 1  set @j = len(@col) - len(replace(@col , ';' , ''))  while @i <= @j  begin    set @str = @str + substring(@col , charindex('@',@col) + 1 , charindex(';',@col) -  charindex('@',@col) )    set @col = substring(@col , charindex(';',@col) + 1 , len(@col))    set @i = @i + 1  end  return @strendgo--调用函数select newcol = dbo.f_str(col) from tbdrop function dbo.f_strdrop table tb/*newcol                   -------------------------朱岚;王洁琪;刘桂珍;徐婷;王洁琪;谢静佳;刘照晶;(所影响的行数为 3 行)*/
  相关解决方案