Skip to content

Instantly share code, notes, and snippets.

@keith9820
Created January 19, 2017 20:57
Show Gist options
  • Save keith9820/d7c852daeb75a8393189aec8a33a6721 to your computer and use it in GitHub Desktop.
Save keith9820/d7c852daeb75a8393189aec8a33a6721 to your computer and use it in GitHub Desktop.
CREATE FUNCTION [dbo].[GetPart](@inputString AS VARCHAR(MAX), @index AS int, @delimiter AS CHAR(1) = '~') RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @ResultVar AS VARCHAR(MAX), @start INT, @end INT, @current INT
SELECT @start = 1, @end = CHARINDEX(@delimiter, @inputString), @current = 0
WHILE @start < LEN(@inputString) + 1
BEGIN
IF @end = 0
SET @end = LEN(@inputString) + 1
IF (@index = @current)
RETURN SUBSTRING(@inputString, @start, @end - @start)
SET @current = @current + 1
SET @start = @end + 1
SET @end = CHARINDEX(@delimiter, @inputString, @start)
END
RETURN NULL
END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment