TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
C# Corner
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
SQL Split Function
Ashish Srivastava
May 07
2016
Code
715
0
1
facebook
twitter
linkedIn
Reddit
WhatsApp
Email
Bookmark
expand
CREATE
FUNCTION
[dbo].[SplitString]
(
@DelimitedString
varchar
(8000),
@Delimiter
varchar
(100)
)
RETURNS
@tblArray
TABLE
(
Element
varchar
(1000)
-- Array element contents
)
AS
BEGIN
-- Local Variable Declarations
-- ---------------------------
DECLARE
@
Index
smallint
,
@Start
smallint
,
@DelSize
smallint
SET
@DelSize = LEN(@Delimiter)
-- Loop through source string and add elements to destination table array
-- ----------------------------------------------------------------------
WHILE LEN(@DelimitedString) > 0
BEGIN
SET
@
Index
= CHARINDEX(@Delimiter, @DelimitedString)
IF @
Index
= 0
BEGIN
INSERT
INTO
@tblArray
(Element)
VALUES
(LTRIM(RTRIM(@DelimitedString)))
BREAK
END
ELSE
BEGIN
INSERT
INTO
@tblArray
(Element)
VALUES
(LTRIM(RTRIM(
SUBSTRING
(@DelimitedString, 1,@
Index
- 1))))
SET
@Start = @
Index
+ @DelSize
SET
@DelimitedString =
SUBSTRING
(@DelimitedString, @Start , LEN(@DelimitedString) - @Start + 1)
END
END
RETURN
END
GO
SELECT
*
FROM
dbo.SplitString (
'10:50'
,
':'
)
Output:
Element
10
50
SQL
Split Function