Sql server 2012 使用OFFSET 进行分页,以及遇到的一个问题
直接上代码了:
select(
select * From 表名 order by 主键(或者其他排序字段)
offset 每页的数据条数*(当前数据页数-1)
rows fetch next 每页的数据条数 row only
for json path
,include_null_values
) as datas
其中 for json path是让SQL返回json,include_null_values是允许查询空值,这两个非必须参数,其他都是必须。
Order by 为必须参数
下面是生产环境的一个小问题:
你们会发现我包裹了一个select() as 别名
这个作用是使返回的json能在一个对象中,否则遇到比较长的数据json,SQL返回的时候会将json截断,变成两个对象,这样就无法接收,会报selectone()需要一个结果,但是返回了两个结果的错误。