/*
Name: Func_Split
Desc: 分隔给定的字符串,如:'abc,cde,def' 被逗号分隔成abc cde def三条记录存入表中
Param: @Sql为给定的字符串 @Splits为指定的字符串中的分隔符
Return: 表中的记录集,即被分隔后的字符串
Author: HJCui
CreateDate: 2016-11-02
*/
CREATE Function [dbo].[Func_Split](@str varchar(8000),@Splits varchar(10))
returns @temp Table (a varchar(100))
As
Begin
Declare @i Int
Set @str = RTrim(LTrim(@str))
Set @i = CharIndex(@Splits,@str)
While @i >= 1
Begin
Insert @temp Values(Left(@str,@i-1))
Set @str = SubString(@str,@i+1,Len(@str)-@i)
Set @i = CharIndex(@Splits,@str)
End
If @str <> ''
Insert @temp Values (@str)
Return
End
调用