Tuesday, January 29, 2019

sql - How do I split a string so I can access item x?



Using SQL Server, how do I split a string so I can access item x?



Take a string "Hello John Smith". How can I split the string by space and access the item at index 1 which should return "John"?


Answer



You may find the solution in SQL User Defined Function to Parse a Delimited String helpful (from The Code Project).



You can use this simple logic:




Declare @products varchar(200) = '1|20|3|343|44|6|8765'
Declare @individual varchar(20) = null

WHILE LEN(@products) > 0
BEGIN
IF PATINDEX('%|%', @products) > 0
BEGIN
SET @individual = SUBSTRING(@products,
0,
PATINDEX('%|%', @products))

SELECT @individual

SET @products = SUBSTRING(@products,
LEN(@individual + '|') + 1,
LEN(@products))
END
ELSE
BEGIN
SET @individual = @products
SET @products = NULL

SELECT @individual
END
END

No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...