Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. CREATE FUNCTION [dbo].[fn_SplitText]
  2. (    
  3.     @RowData NVARCHAR(MAX),
  4.     @Delimeter NVARCHAR(MAX)
  5. )
  6. RETURNS @RtnValue TABLE
  7. (
  8.     ID INT IDENTITY(1,1),
  9.     DATA NVARCHAR(MAX)
  10. )
  11. AS
  12. BEGIN
  13.     DECLARE @Iterator INT
  14.     SET @Iterator = 1
  15.  
  16.     DECLARE @FoundIndex INT
  17.     SET @FoundIndex = CHARINDEX(@Delimeter,@RowData)
  18.  
  19.     WHILE (@FoundIndex>0)
  20.     BEGIN
  21.         INSERT INTO @RtnValue (DATA)
  22.         SELECT
  23.             DATA = LTRIM(RTRIM(SUBSTRING(@RowData, 1, @FoundIndex - 1)))
  24.  
  25.         SET @RowData = SUBSTRING(@RowData,
  26.                 @FoundIndex + DATALENGTH(@Delimeter) / 2,
  27.                 LEN(@RowData))
  28.  
  29.         SET @Iterator = @Iterator + 1
  30.         SET @FoundIndex = CHARINDEX(@Delimeter, @RowData)
  31.     END
  32.    
  33.     INSERT INTO @RtnValue (DATA)
  34.     SELECT DATA = LTRIM(RTRIM(@RowData))
  35.  
  36.     RETURN
  37. END