Monday, 19 December 2011

Split Value Function or Multivalue parameter function for different delimeter seperator

First
splitig the comma seperated
Function normally uses to split the multivalue parameters in SSRS. This will be use only for . Second function will be useful to seperate any kind of delimeters .-- Split Vale function or Comma Separator functionCreate FUNCTION [dbo].[MultipleValueParameter]( @Column varchar(max) )RETURNS @ColumnTable TABLE ( columnname varchar(8000) ) AS
Begin
declare @pos1 intSET @pos1 = charindex(',', @column)
WHILE @pos1 > 0BEGININSERT into @ColumnTable (columnname) VALUES(ltrim(rtrim(left(@column, (charindex(',', @column)) - 1))))SET @column = substring(@column, @pos1 + 1, len(@column))
SET @pos1 = charindex(',', @column) ENDinsert into @ColumnTable (Columnname) values (ltrim(rtrim(@Column)))
End
Return--Example : Select *from dbo.MultipleValueParameter('Lohith,Kota')
--O/P :
columnname
Lohith
Kota
--Split Value function that separates any of the DelimeterCREATE FUNCTION [dbo].[MultiParametersAllDelimiters]( @Column varchar(max), @Delimiter varchar(2) )RETURNS @ColumnTable TABLE ( columnname varchar(8000) ) AS
Begin
declare @pos1 intSET @pos1 = charindex(@Delimiter, @column)
WHILE @pos1 > 0BEGININSERT into @ColumnTable (columnname) VALUES(ltrim(rtrim(left(@column, (charindex(@Delimiter, @column)) - 1))))SET @column = substring(@column, @pos1 + 1, len(@column))
SET @pos1 = charindex(@Delimiter, @column) ENDinsert into @ColumnTable (Columnname) values (ltrim(rtrim(@Column)))
End
Return--Example : Select *from dbo.MultiParametersAllDelimiters('Lohith,Kota',',')
--O/P :
columnname
Lohith
Kota
Or --Example 2 : Select *from dbo.MultiParametersAllDelimiters('Lohith|Kota','|')
--O/P:
columnname
Lohith
Kota