仅限跳过(偏移)的SQLite(不限制)

Pau*_*opf 22 sqlite offset

我试图只使用偏移量和无限制来查询sql lite数据库.

SELECT [Id], [Name], [IntValue], [IntNulableValue] FROM [Product] OFFSET 10
Run Code Online (Sandbox Code Playgroud)

我有限制时可以进行偏移查询(LIMIT 10 OFFSET 10).

这是sql lite给我的错误.

SQLite error near "10": syntax error
Run Code Online (Sandbox Code Playgroud)

小智 46

只需将LIMIT设置为-1即可.

例如:

SELECT * FROM table LIMIT -1 OFFSET 10
Run Code Online (Sandbox Code Playgroud)

  • 我猜 -1 比 2^64-1 更常见,而且更短,但就整体清洁度而言,它们都是神奇的数字。干净的解决方案是将限制和偏移分开,因为它们服务于不同的用例。巧克力和牛奶搭配得很好,但有时我想要一个没有另一个! (2认同)

Mar*_*ine 9

在SQLite页面所理解的SQL上,您会注意到没有LIMIT就无法理解OFFSET.

http://sqlite.org/lang_select.html

根据相同的文件:

如果LIMIT表达式求值为负值,则返回的行数没有上限.