imagine have following value in nvarchar variable:
declare @txt nvarchar(255) set @txt = '32|foo|foo2|123' is there way last part after last | 123 in case ?
i write split function i'm not interested in first parts of string. there way last part of string without getting first parts ?
note parts of string have variable sizes.
you can use combination of left, reverse , charindex this. query below reverses string, finds first occurance of |, strips out other characters , straightens string back.
declare @txt nvarchar(255) set @txt = '32|foo|foo2|123' select reverse(left(reverse(@txt),charindex('|',reverse(@txt))-1)) output
123 edit
if string has 4 parts or less , . isn't valid character, can use parsename this.
declare @txt nvarchar(255) set @txt = '32|foo|foo2|123' select parsename(replace(@txt,'|','.'),1)
Comments
Post a Comment