带有双重反向查询的String_Split

问题描述 投票:0回答:1

我希望像这样分割字符串:

Select top 1 value 
from string_split(Reverse('test,is,what,this,is'),',')`

我基本上只想要字符串中逗号后面的最后一个值,但是该字符串可以有未知数量的逗号分隔值,因此反转它并分割它是最简单的,但我不想将字符串反转回正常状态。

我正在尝试以下查询,但我尝试的每个变体都会出错:

Select Reverse(Select top 1 value from string_split(Reverse('test,is,what,this,is'),','))

知道如何进行这项工作吗?此查询中的结果应为“is”。只是想提取最后一个逗号后的最后一个值。

sql split reverse
1个回答
0
投票

如果您使用 SQL Server(如“top”和“string_split”所示),那么也许这会有所帮助。

Select top(1) value 
from string_split('test,is,what,this,is',',', 1)
order by ordinal DESC
;

请注意,这需要

string_split
(ref) 的第三个参数来提供
ordinal
列 - 一旦您拥有该列,您就可以使用该列指定顺序。使用降序可以在与
top(1)

组合时仅选择最后一个单词
© www.soinside.com 2019 - 2024. All rights reserved.