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