我希望像这样分割字符串:
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 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)
组合时仅选择最后一个单词