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]