【发布时间】:2018-05-12 04:47:46
【问题描述】:
我正在尝试为 Peewee for SQL Server 构建数据库驱动程序(通过 SQL 中继)。由于 SQL Server 不像其他数据库那样支持 LIMIT 语法,因此我需要覆盖它。我相信 SQL Server 的正确语法类似于:
SELECT TOP(1) FROM users
TOP 替换 LIMIT 用于只需要返回找到的结果子集的查询。
另一方面,在 SQL Server 中,对结果分页的支持是通过以下方式完成的:
SELECT email FROM emailTable
WHERE id=3
ORDER BY Id
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;
OFFSET <X> ROWS 替换 OFFSET,FETCH NEXT… 替换 LIMIT。
我还发现了一个旧的尝试来实现对 Peewee 的 SQL Server 支持,但它看起来非常过时,因为我在当前的 Peewee 代码库中没有看到任何关于“查询编译器”的信息。
https://github.com/COUR4G3/peewee-mssql/blob/master/peewee_mssql.py
在 Peewee 中自定义 LIMIT 和 OFFSET 的查询参数的最佳方法是什么?
谢谢!
【问题讨论】:
标签: sql-server python-3.x peewee