我正在尝试将Db2查询转换为SQL Server,我遇到了一个我不熟悉的构造:FETCH FIRST 1 ROWS ONLY。
这是处理db2的查询:
select * from products.series where state = 'xxx' order by id
FETCH FIRST 1 ROWS ONLY
我在SQL Server上遇到的错误:
Invalid usage of the option FIRST in the FETCH statement.
我尝试用NEXT替换FIRST,似乎在SQL Server中被录取,但没有成功。
我正在使用SQL Sever 2014
答案 0 :(得分:11)
使用top
:
select top 1 * from products.series where state = 'xxx' order by id
答案 1 :(得分:11)
尝试使用OFFSET
子句
select * from products.series where state = 'xxx' order by id
OFFSET 0 ROWS
FETCH NEXT 1 ROWS ONLY
答案 2 :(得分:1)
你可以使用top()finction'
select top 1 * from table