我在是网上看到后,摘抄的,以备用
创建一个表值函数如下:
/*按照符号分割字符串*/ CREATE function [dbo].[m_split](@c varchar(2000),@split varchar(2)) returns @t table(col varchar(200)) as begin while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,charindex(@split,@c),'') -- SET @c = substring(@c,charindex(' ',@c)+1,len(@c)) end insert @t(col) values (@c) return end
测试如下:
select col from dbo.m_split('1,2,3,4,5',',') 或者: select * from dbo.m_split('1,2,3,4,5',',')
结果如下: