日期:2014-05-18  浏览次数:20702 次

叶子,再帮我改一下这个函数吧.....
叶子..再帮我看看嘛,谢谢...
我增加了一个班级,我想继续使用前面你给的函数,可是不会改成2个列的.
SQL code

create table tbb(bj char(50),names varchar(8000))

insert into tbb(bj,names) values ('一班',',黄艳影,黎良式,朱金妹,朱杨妹,骆昌润,李龙多,范盛惠,陆敏婷,黎惠芬,陈玉群,陈惠凤,黄兆辉,谢大柱,梁跌徐,陆敏仪,钟洁梅,冯勉新,陈锦新,冯文娟,唐其杰,周国琼,伦金兴,冯雪霞,梁贵彬,莫妃妃,黄培云,钟少芳,谭燕英,成惠玲,梁丽华,李素萍,吕肖梅,许永秀,司秀梅,李桂兰,赵凤明,杨燕珍,陈家权,林永升,区贤林,骆小燕,佘小阳,欧阳燕虹,何振林,梁保红,潘考仪,植美红,卢玉燕,朱海珠,刘棠英,邓雁仪,吴勤兴,刘天德,余碧容,叶丽贤,程素琼,覃飞林,林淑芬,叶志远,陆红针,李伟明,林小群,冯春三,甄有平,黄杏连,李爱志,李哪绍,杨祖坤,李绮莲,黄新秀,李进英,黄惠琴,徐铭龙,陆树新,梁成,欧阳姣辉,曾桂芳,许珍,覃丽梅,张灿平,邓日明,程昭强,钟日珍,廖聪汉,黄萍,马火珍,傅湘辉,陈枚花,麦芳英,韦春燕,程明飞,梁为芬,熊东林,程康,陈标,谢光泽,廖晨,邵志钦,周粤聪,廖就英,邝开凤,严栩文,钟日群,钟日安,刘锐通,黄剑方,林喜松,林福新,冼美香,张美珍,陈合连,黄建彬,吕春梅,罗有霞,梁妹,覃琼清,梁正锋,陈七女,邓思婷,游梓星,黄云彬,钟卓成,古彩球,黄玉玲,邹春梅,杨永华,徐小军,黄富强,赵志能,黄耀彬,邓秋梅,唐趣联,赵秋妹,李海红,郭灼然,唐其林,陈燕好,张金兴,梁汝霞,胡少琼,覃忠茂,胡淑霞,区群珍,潘天德,贾必玉,梁少玲,孙桂文,韦振国,梁嘉毅,罗小平,林柳杏,甘芳,杨拥爱,黄剑彬,冯晖敏,陈伟坚,陈浩斌,丘婷,周其涛,喻茂芬,吴丽华,彭美连,肖安青,杨小军,黎凤莲,陈永康,罗玉莲,梁焕珍,潘燕瑞,陈石连,江家欢,何玫玫,邱丽华,冯彩霞,陈少容,谢志伟,成达珍,白连英,方付华,李标,谢彩丽,杜健聪,陈仪妹,林燕华,陈洁莲,方凤霞,吴星保,周伟超,罗连娇,林文武,冯木霞,潘鹏,简伟斌,孔令斌,李贤森,黄灶霞,梁带好,彭杰,黄建国,邓文庆,唐翠珍,简金威,朱洁宜,何姗,杨春鹏,凌玉兰,李小林,杨丽才,欧阳艳丽,陈丽梅,余燕红,李小眯,林桂云,岑珍凤,王永来,吴伟洋,向仕涛,黎朝桂,黎朝丽,吴华珍,刘梅香,覃永前,雷月华,陈兰芳,肖贞建,冯玉梅,徐芳,梁小意,郑小群,雷月燕,黄小芳,刘红艳,罗妙英,鲁元维,沈肖秀,温志标,余惠坚,韦文琴,任开华,苏栢坚,任开林,钟旺娟,骆志玲,赖思红,卢喜凤,何欠优,王琼,翟兰花,陈路明,欧丽花,吴碧琼,杨李模,梁振朝,杨拥娇,梁成娣,黄文龙,邓杰兴,金桂霞,田秀阳,王武飞,陈勇安,吴仕英,黄保成,李坤玉,刘少珍,江志中,麦捷好,文发娣,劳家愿,范奕传,林敏华,吴春兰,曾什有,李正道,李亚玲,吴春芳,江天福,李木娣,范文婵,莫黎宝,钱金友,马汝民,陆秀健,李小英,蓝光春,江朝兰,古献君,梁为铿,赖秀梅,梁瑞要,黎伟坚,孙惠贞,曾兰花,杨玉静,梁珍,张燕红,陈丽芳,林富越,黄亚尾,李雪梅,黎杰怡,岑桂容,廖求志,苏桂容,严祝英,陈志英,黄勇辉,张艳容,梁日凤,黄荣超,潘家健,成水妹,范西雁,梁燕彩,陈国茂,黄锋,李海媚,陈炳钊,杨桂林,温静韵,陈大明,杜小群,陈恒高,唐运娟,邹思燕,梁道兰,简木兰,黎锋,黎欢琼,苏有军,林志星,邹小涛,李桂莲,崔月雄,陈小丽,周海霞,劳春慧,程水娣,蔡秀兰,黎虹,吴健豪,李华壹,蒙杏明,陈敏芳,谭桂清,秦春霞,王苏媛,赖桂斌,云顺钿,杨丽珍,王敏,汪美金,覃忠论,欧伟健,曾钊利,江秋梅,谢应伟,李建芳,黄锦华,徐欣瑶,张采婷,李毅玲,韦荘兰,梁秀园,徐利娜,黄丽平,曹义,汪菲菲,周韦,庾东成,丁建平,黄海珍,黄晓珠,李海恩,欧美容,潘啟金,陈小珍,许建平,冯月金,王辉,熊伟松,林炳昌,覃祚波,黄小红,卢美好,钟仲娇,刘广梅,李志成,全丽君,邱美红,夏燕萍,钟丽华,范师云,曾海凤,庞勇,毛少梅,陆北容,黄幼年,韦汉晓,何远婷,吴洁莲,向琴,郭园妹,周诗情,钟民强,')




上面我增加了一个班级,我想继续使用前面你给的函数,可是不会改成2个列的.

create function [dbo].[m_split2](@c varchar(8000),@split varchar(2))  
  returns @t table(bkhr varchar(200))  
  as  
  begin  
  while(charindex(@split,@c)<>0)  
  begin  
  if(substring(@c,1,charindex(@split,@c)-1)!=' ')
  begin
  insert @t(bkhr) values (substring(@c,1,charindex(@split,@c)-1))  
  end
  set @c = stuff(@c,1,charindex(@split,@c),'')  
  end  
  if(@c!=' ')
  begin
  insert @t(bkhr) values (@c) 
  end  
  return  
end



declare @t varchar(8000)
select @t=bkhr from akhxm 
select * from dbo.[m_split2](@t,',')

------解决方案--------------------
探讨
select '一班','黄艳影,黎良式,朱金妹,朱杨妹'


这里的数据是',黄艳影,黎良式,朱金妹,朱杨妹,'
我这里有多2个点,可以处理掉吗? 因为我现在执行后每个bj的一前一后的姓名都是空.