|
|
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=1begin set @start_index = 0 select @end_index = CharIndex(@tag_string,@split_string,@start_index) if @end_index <> 0 begin 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)) end else begin if @split_string is not null and @split_string <> '' insert into @split_table(split_value) values(@split_string) break endendRETURN END |
|