tsql 最后"occurrence of"在字符串内



我有一个包含逗号分隔值的字段。我需要提取列表中的最后一个元素。我试过这个:

select list_field, LTRIM(RTRIM(right(list_field, len(list_field) - CHARINDEX(',',list_field))))

但它返回列表的最后一部分,从第一个逗号出现之后开始。例如,

a、 b返回b

a、 b,c返回b,c

我想使用类似regex的模式。这在TSQL(sql server 2008)中可能吗?还有其他线索吗?

通过反转字符串并查找第一个字符来查找最后一个,,然后从字符串右侧读取那么多字符;

rtrim(right(list_field, charindex(',', reverse(list_field)) - 1))

(如果字段中可能没有分隔符,请使用reverse(list_field) + ','&您需要单个值)

相关内容

  • 没有找到相关文章

最新更新