I have some strings I need to split on a SQL Server 2014 instance.
I would normally do it something like this:
declare @bk nvarchar(1000)
set @bk = 'SIS5.0~person_id~696969'
select value from string_split(@bk, '~')
and I can also do it like this:
declare @bk nvarchar(1000)
set @bk = 'SIS5.0~person_id~696969'
;with hizizzle as (
select left(@bk, charindex('~', @bk)-1) as flippity, right(@bk, len(@bk) - charindex('~', @bk)) as floppity)
select flippity, left(floppity, charindex('~',floppity)-1) as floppity,
right(floppity, len(floppity) - charindex('~', floppity)) as flooo
from hizizzle
…but there must be a better way, right?
Question: How did you do string splits in the ancient past before 2014?
Best Answer
If you know the number of items and want to access one or more by its index, you can do something like the following:
Splits on the '~' character, surrounds with simple tags, then uses the .value property to get a specific index.
Works for 2008, and I believe (but can't remember) it also worked on 2005.