Sql server 偏移行与行之间有什么区别吗

Sql server 偏移行与行之间有什么区别吗,sql-server,fetch,offset,Sql Server,Fetch,Offset,在SQL Server中,偏移行和偏移行之间是否存在以下差异: Select * From TableName Order by Fields Offset 10 Row; Select * From TableName Order by Fields Offset 10 Rows; 据我所知,两者没有区别 类似地,在oracle中,“下一步获取”和“先获取”没有区别: 根据,在参数部分: 偏移量\行\计数\表达式可以是变量、参数或常量 标量子查询。使用子查询时,它不能引用任何 在外部查

在SQL Server中,偏移行和偏移行之间是否存在以下差异:

Select * From TableName 
Order by Fields
Offset 10 Row;

Select * From TableName 
Order by Fields
Offset 10 Rows;

据我所知,两者没有区别

类似地,在oracle中,“下一步获取”和“先获取”没有区别:

根据,在参数部分:

偏移量\行\计数\表达式可以是变量、参数或常量 标量子查询。使用子查询时,它不能引用任何 在外部查询范围中定义的列。也就是说,这不可能 与外部查询关联

是同义词,用于ANSI兼容性。

在查询执行计划中,抵销行计数值显示在 顶部查询运算符的偏移量属性

重点补充

在除字符外的所有字符中都是相同的运算符。在SQL Server中有几个这样的例子;例如
十进制
数字
。另一个是
FIRST
NEXT
(用于
OFFSET
)也是同义词

这些通常是为了满足兼容性或ISO标准


(如果它是语法上的“东西”,我也不会感到惊讶。SQL在结构上非常“英语”,因此像
OFFSET 10 ROW FETCH NEXT 1 ROWS ONLY
这样的语句不是非常“英语”。因此
ROWS
ROW
都是允许的,因为它们具有语法意义。)

fetch
子句中的
fetch next/first
row/rows
相同:在同一页的稍下方:“first和next是同义词,用于ANSI兼容性。row和row是同义词,用于ANSI兼容性。”