USE [DataBase]
GO
/****** Object: UserDefinedFunction [dbo].[Fun_Split] Script Date: 03/12/2012 17:52:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[Fun_Split](
@SourceStr nvarchar(max)--源字符串
)
RETURNS @table table(list varchar(100) )
AS
BEGIN
SELECT @sourcestr = replace(@sourcestr,';',',')
SELECT @sourcestr = replace(@sourcestr,'\',',')
SELECT @sourcestr = replace(@sourcestr,'.',',')
-- select @sourcestr = replace(@sourcestr,' ',',')
--declare @OutStr varchar(200)
IF CHARINDEX(',',@sourcestr)>0
BEGIN
DECLARE @i INT
DECLARE @n INT
SET @i=1
WHILE charindex(',',@sourcestr,@i)>0
BEGIN
SET @n=charindex(',',@sourcestr,@i)
INSERT INTO @table VALUES(substring(@sourcestr,@i, @n-@i) )
SET @i=@n+1
END
INSERT INTO @table VALUES(substring(@sourcestr,@i,len(@sourcestr)-@i+1))
END
ELSE
INSERT INTO @table VALUES(@sourcestr)
DELETE FROM @table WHERE isnull(list,'') = ''
RETURN
END
GO
/****** Object: UserDefinedFunction [dbo].[Fun_Split] Script Date: 03/12/2012 17:52:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[Fun_Split](
@SourceStr nvarchar(max)--源字符串
)
RETURNS @table table(list varchar(100) )
AS
BEGIN
SELECT @sourcestr = replace(@sourcestr,';',',')
SELECT @sourcestr = replace(@sourcestr,'\',',')
SELECT @sourcestr = replace(@sourcestr,'.',',')
-- select @sourcestr = replace(@sourcestr,' ',',')
--declare @OutStr varchar(200)
IF CHARINDEX(',',@sourcestr)>0
BEGIN
DECLARE @i INT
DECLARE @n INT
SET @i=1
WHILE charindex(',',@sourcestr,@i)>0
BEGIN
SET @n=charindex(',',@sourcestr,@i)
INSERT INTO @table VALUES(substring(@sourcestr,@i, @n-@i) )
SET @i=@n+1
END
INSERT INTO @table VALUES(substring(@sourcestr,@i,len(@sourcestr)-@i+1))
END
ELSE
INSERT INTO @table VALUES(@sourcestr)
DELETE FROM @table WHERE isnull(list,'') = ''
RETURN
END