Wednesday, August 1, 2012

Return nth index of a delimited string in TSQL

CREATE FUNCTION [dbo].[fn_SplitSelect] (@sep VARCHAR(32), @s VARCHAR(MAX), @index INT)

RETURNS NVARCHAR(MAX)
AS
    BEGIN
        DECLARE @xml XML
        SET @XML = N'' + REPLACE(@s, @sep, '') + ''
        
        DECLARE @ret NVARCHAR(MAX)

        SELECT @ret = Item
        FROM (
                    SELECT r.value('.','VARCHAR(5)') as Item, ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS rownum
                    FROM @xml.nodes('//root/r') AS RECORDS(r)
                    ) t
             WHERE t.rownum = @index
        

        RETURN @ret
    END



4 comments:

  1. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a .Net developer learn from Dot Net Training in Chennai. or learn thru Dot Net Training in Chennai. Nowadays Dot Net has tons of job opportunities on various vertical industry.
    or Javascript Training in Chennai. Nowadays JavaScript has tons of job opportunities on various vertical industry.

    ReplyDelete

  2. شركة تنظيف منازل بالدمام شركة تنظيف منازل بالدمام
    شركة تنظيف منازل بالاحساء شركة تنظيف منازل بالاحساء
    شركة تنظيف منازل بمكة شركة تنظيف منازل بمكة
    شركة تنظيف منازل بجدة شركة تنظيف منازل بجدة
    شركة تنظيف منازل بالمدينة المنورة شركة تنظيف منازل بالمدينة المنورة

    ReplyDelete
  3. Nice blog . You have good maintained it, you must try this website which really helps to increase your traffic. nice info awaiting for more new post. Keep Blogging! Packers And Movers Hyderabad

    ReplyDelete