Skip to content

Instantly share code, notes, and snippets.

@grishin
Created February 8, 2021 13:16
Show Gist options
  • Select an option

  • Save grishin/c32a05bd6f3d6b71b50386ce4a24b6ff to your computer and use it in GitHub Desktop.

Select an option

Save grishin/c32a05bd6f3d6b71b50386ce4a24b6ff to your computer and use it in GitHub Desktop.
STRING_SPLIT function in T-SQL with order
ALTER FUNCTION [dbo].[fn_StringSplit]
(
@Str varchar(MAX),
@Delimeter char(1),
@Position int
)
RETURNS varchar(MAX)
AS
BEGIN
DECLARE @T TABLE(Id int NOT NULL identity(1,1), [Value] varchar(MAX));
INSERT INTO @T([Value])
SELECT [Value]
FROM STRING_SPLIT(RTRIM(LTRIM(@Str)), @Delimeter);
DECLARE @ValOnPosition varchar(MAX);
SELECT @ValOnPosition = [Value]
FROM @T
WHERE Id = @Position;
RETURN @ValOnPosition;
END
-- Usage:
-- SELECT dbo.fn_StringSplit([Email], '@', 2) AS EmailDomain FROM EmailsTable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment