数据库分割字符串

来源:互联网 发布:win7下安装linux双系统 编辑:程序博客网 时间:2024/05/15 03:02

create FUNCTION [dbo].[f_splitstr]
(
 -- Add the parameters for the function here
  @SourceSql nvarchar(max),
  @StrSeprate nvarchar(10)
)
RETURNS @temp table(F1 nvarchar(100))
AS
BEGIN
 -- Fill the table variable with the rows for your result set
 
 declare @i int
   set @SourceSql=rtrim(ltrim(@SourceSql))
   set @i=charindex(@StrSeprate,@SourceSql)
   while @i>=1
   begin
     insert @temp values(left(@SourceSql,@i-1))
     set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
     set @i=charindex(@StrSeprate,@SourceSql)
   end
   if @SourceSql<>''
     insert @temp values(@SourceSql)
   return
END

应用:select * from f_splitstr('1,2,3',',')