sql – OFFSET命令附近的语法不正确

前端之家收集整理的这篇文章主要介绍了sql – OFFSET命令附近的语法不正确前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么这不起作用,并给我一个“偏移命令附近的语法不正确”错误
SELECT o.orderdate,o.orderid,o.empid,o.custid FROM Sales.Orders o
ORDER BY o.orderdate,o.orderid
OFFSET 50 ROWS
FETCH NEXT 25 ROWS ONLY;

我正在使用sql Server Express 2014

解决方法

检查数据库兼容级别.
OFFSET是在sql Server 2012中添加的,因此如果您的数据库处于2008兼容模式,则此关键字不可用.

View or Change the Compatibility Level of a Database

在T-sql中,您可以像这样检查:

USE AdventureWorks2012;  
 GO  

 SELECT compatibility_level  
 FROM sys.databases WHERE name = 'AdventureWorks2012';  
 GO

以下是从How to check SQL Server Database compatibility after sp_dbcmptlevel is deprecated?获取的兼容级别列表:

65 - sql Server 6.5
 70 - sql Server 7.0
 80 - sql Server 2000
 90 - sql Server 2005
100 - sql Server 2008/R2
110 - sql Server 2012
120 - sql Server 2014
130 - sql Server 2016
140 - sql Server 2017

此外,Azure sql数据仓库和并行数据仓库不支持OFFSET子句,可以从ORDER BY子句的文档中看到:

06002

06003

原文链接:/mssql/77405.html

猜你在找的MsSQL相关文章