wfdoublext 发表于 2013-1-27 04:49:22

split

create   table   #   (a   varchar(1000))   declare   @string   varchar(1000)   set   @string='(aa,aa);(bb,bb);(ccc,c);(dd,dd)'   set   @string='insert   #   select   '''+replace(@string,';','''as   str   union   all   select   ''')+''''   exec(@string)         select   *   from   #drop table # 
CREATE FUNCTION Taurus_CommonSplit_String(@split_string varchar(max), --要进行分解的字符串@tag_string varchar(10) --分解标志)RETURNS @split_table TABLE (split_value varchar(200))ASBEGINdeclare @temp_string varchar(max)declare @start_index intdeclare @end_index intwhile 1=1beginset @start_index = 0select @end_index = CharIndex(@tag_string,@split_string,@start_index)if @end_index <> 0begin   set @temp_string = Substring(@split_string,@start_index,@end_index)   if @temp_string is not null and @temp_string <> ''    insert into @split_table(split_value) values(@temp_string)   set @start_index = @end_index + 1   set @split_string = Substring(@split_string,@start_index,len(@split_string))endelsebegin    if @split_string is not null and @split_string <> ''       insert into @split_table(split_value) values(@split_string)   breakendendRETURN END 
页: [1]
查看完整版本: split