【发布时间】:2013-02-12 02:36:06
【问题描述】:
假设您有以下表格:
create table #myvalues(mykey int primary key)
您还具有以下值:
insert into #myvalues(mykey) values(1)
insert into #myvalues(mykey) values(2)
insert into #myvalues(mykey) values(4)
insert into #myvalues(mykey) values(5)
insert into #myvalues(mykey) values(6)
insert into #myvalues(mykey) values(8)
insert into #myvalues(mykey) values(10)
insert into #myvalues(mykey) values(11)
insert into #myvalues(mykey) values(12)
insert into #myvalues(mykey) values(15)
insert into #myvalues(mykey) values(17)
insert into #myvalues(mykey) values(20)
你还有一个当前值:
declare @currentvalue int
select @currentvalue = 5
我想找到这个序列中出现在@currentvalue 之后的第一个中断。在这种情况下,答案是 7。
我可以使用表变量并使用 while 循环遍历记录,但必须有更好的方法。
有什么建议吗?
【问题讨论】:
-
你使用的是什么 sql-server 版本?
-
SQL Server 2005。我刚刚更新了标签。
标签: sql tsql sql-server-2005 integer