我有字段包含逗号分隔值.我需要提取列表中的最后一个元素.
我试过这个:
我试过这个:
select list_field,LTRIM(RTRIM(right(list_field,len(list_field) - CHARINDEX(',',list_field))))
但它返回列表的最后一部分,只是在第一个逗号出现之后开始.
例如,
a,b returns b
a,b,c returns b,c
解决方法
找到最后一个,通过反转字符串并寻找第一个出现,然后从字符串右侧读取许多字符;
rtrim(right(list_field,charindex(',reverse(list_field)) - 1))
(使用reverse(list_field)’,’如果在字段中有可能没有分隔符,并且您想要单个值)