CSV, CDF string – Multiple In by string IN(“1,2,3,4,5″) etc
January 27th, 2009
No comments
CREATE FUNCTION CSVTable(@Str varchar(7000)) returns @t TABLE (numberval int, stringval varchar(100), DateVal datetime) AS begin declare @i int; declare @c varchar(100); SET @Str = @Str + ',' SET @i = 1; SET @c = ''; while @i <= len(@Str) begin IF substring(@Str,@i,1) = ',' begin INSERT INTO @t VALUES (CASE WHEN isnumeric(@c)=1 THEN @c else NULL END, rtrim(ltrim(@c)), CASE WHEN isdate(@c)=1 then @c else NULL END) SET @c = '' end else SET @c = @c + substring(@Str,@i,1) SET @i = @i +1 end RETURN end
Categories: SQL