Create FUNCTION [dbo].[SplitTable](@s varchar(max), --待分拆的字符串@split varchar(10) --数据分隔符)RETURNS @re TABLE(id int IDENTITY(1,1), col varchar(max)) --建立临时表保存分割后的字符ASBEGIN DECLARE @splitlen int SET @splitlen=LEN(@split+‘a‘)-2 WHILE CHARINDEX(@split,@s)>0 BEGIN INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1)) SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,‘‘) END INSERT @re VALUES(@s) RETURNEND
示例:
SELECT * FROM [dbo].[SplitTable](‘喷锡,沉金,镀金,OSP‘,‘,‘)