【发布时间】:2021-02-10 15:40:27
【问题描述】:
我在 SQL 中有一个要求,我要获取一个字符串并且需要获取顶部的第二行。
我正在使用 SQL 版本 2014
我有一个字符串,我要使用字符 'M'
字符串如下:3908K88513K1992K898593M
如果我通过输入:88513 我需要将输出作为898593
另一个例子是
字符串:24572K12345K10981K19809K
如果输入是19809,输出应该是:12345
我尝试了下面的代码,但在第二个输入示例字符串处失败:
SELECT TOP 1 T.*
FROM (
SELECT TOP 2 *
FROM splitfunction((
SELECT number
FROM name
WHERE id = 100709
), 'K')
) AS T
ORDER BY 1 DESC;
【问题讨论】:
-
使用 OFFSET / FETCH FIRST 而不是 TOP。
-
查看您的 2 个示例,两者的顺序甚至都不相同。一个返回值after,而另一个返回值before。什么表示“下一个”值的方向?
标签: sql sql-server sql-order-by sql-limit