fn_GetTableFromStringWithSep

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@String nvarchar(max) IN
@Sep char(1) IN

Definition

Copy

        create function dbo.fn_GetTableFromStringWithSep
        (
          @String NVARCHAR(MAX),
          @Sep CHAR(1)
        )
        returns @Tbl table
        (
          Val NVARCHAR(MAX)
        )
        as
        begin
          set @String = @String + @Sep
          ;with cte as
          (
                select substring(@String, 1, CHARINDEX(@Sep, @String)) as Val, stuff(@String, 1, LEN(substring(@String, 1, CHARINDEX(@Sep, @String))), '') AS StuffedVal
                union all
                select substring(StuffedVal, 1, CHARINDEX(@Sep, StuffedVal)), stuff(StuffedVal, 1, LEN(substring(StuffedVal, 1, charindex(@Sep, StuffedVal))), '')
                from cte
                where len(substring(StuffedVal, 1, CHARINDEX(@Sep, StuffedVal))) > 0
          )
          insert into @Tbl (Val)
          select substring(Val, 1, CHARINDEX(@Sep, Val) - 1) from cte
          option(MAXRECURSION 32767)

          return
        end