提问人:Alberto De Caro 提问时间:2/28/2012 最后编辑:CommunityAlberto De Caro 更新时间:3/26/2020 访问量:26186
tsql 字符串中的最后一个“出现次数”
tsql last "occurrence of" inside a string
问:
我有包含逗号分隔值的字段。我需要提取列表中的最后一个元素。 我试过了这个:
select list_field, LTRIM(RTRIM(right(list_field, len(list_field) - CHARINDEX(',',list_field))))
但它返回列表的最后一部分,刚好在第一个逗号出现后开始。 例如
a,b 返回 b
a,b,c 返回 b,c
我想使用类似正则表达式的模式。在 TSQL (sql server 2008) 中是否可行? 还有其他线索吗?
答:
26赞
Alex K.
2/28/2012
#1
通过反转字符串并查找第一个出现的字符来找到最后一个字符,然后从字符串右侧读取该字符串的多个字符;,
rtrim(right(list_field, charindex(',', reverse(list_field)) - 1))
(如果字段中可能没有分隔符并且您想要单个值,请使用)reverse(list_field) + ','
评论