usage described at http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/c02370b5-aeda-47ec-a3a8-43b2ec1e6c26):
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
PRINT 'drop function dbo.udfMulti_Value'
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'dbo.udfMulti_Value') and xtype in (N'FN', N'IF', N'TF'))
drop function dbo.udfMulti_Value
GO
PRINT 'CREATE FUNCTION dbo.udfMulti_Value'
GO
/******************************************************************************
NAME: udfMulti_Value
PURPOSE:
REVISIONS:
$Log$
Ver Date Author Description
******************************************************************************/
CREATE FUNCTION dbo.udfMulti_Value(@code NVARCHAR(MAX))
RETURNS @temp table(Code NVARCHAR(MAX))
AS
BEGIN
If ISNULL(@code ,'') = '' BEGIN
SET @code = 'ALL' END
ELSE
WHILE LEN(@code ) > 0 BEGIN
IF PATINDEX('%,%', @code ) > 0 BEGIN
INSERT INTO @temp VALUES(RTRIM(SUBSTRING(@code ,1,PATINDEX('%,%', @code )-1)))
SET @code = LTRIM(SUBSTRING(@code ,PATINDEX('%,%', @code )+1,1024)) END
ELSE BEGIN
INSERT INTO @temp VALUES(LTRIM(RTRIM(@code )))
BREAK
END
END
RETURN
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
If you find this script useful please donate generously.
No comments:
Post a Comment