Try this....
DECLARE @t VARCHAR(255), @splitAt int
set @t = 'this is a text '
set @splitAt = 4
;with cte as
(
Select CONVERT(VARCHAR,LEFT(@t,@splitAt)) SplitedString,STUFF(@t,1,@splitAt,'') String,
Len(LEFT(@t,@splitAt)) Len
UNION ALL
SELECT CONVERT(VARCHAR,LEFT(String,@splitAt)) ,STUFF(String,1,@splitAt,'') A,Len(LEFT(@t,@splitAt)) Len
FROM CTE
WHERE Len(LEFT(@t,@splitAt)) >= @splitAt
AND LEN(String)>0
)
SELECT * FROM CTE
↧