Eu tenho algumas strings que preciso dividir em uma instância do SQL Server 2014.
Eu normalmente faria algo assim:
declare @bk nvarchar(1000)
set @bk = 'SIS5.0~person_id~696969'
select value from string_split(@bk, '~')
e também posso fazer assim:
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
...mas deve haver uma maneira melhor, certo?
Pergunta: Como você fazia divisões de cordas no passado antigo antes de 2014?
Dos comentários:
Se você sabe o número de itens e deseja acessar um ou mais pelo seu índice, pode fazer algo como o seguinte:
Divide no caractere '~', cerca com tags simples e, em seguida, usa a propriedade .value para obter um índice específico.
Funciona para 2008, e acredito (mas não me lembro) que também funcionou em 2005.
Foi praticamente isso - foi uma merda!