【问题标题】:How to do this in SQL Server and SQLite如何在 SQL Server 和 SQLite 中执行此操作
【发布时间】:2015-02-08 14:55:20
【问题描述】:

我刚刚在keyset paging 上阅读了一篇文章。这篇文章使用 PostgreSQL,并提到了一种有趣的方法来比较我以前从未见过的多个列。

看起来像这样 (3,2) > (2, 5),这返回 true。它首先比较第一个数字,如果它们不相等,则返回结果。如果它们相等,它会比较第二个数字。这在进行键集分页时非常有用。

我不知道这是怎么称呼的。实验发现 SQL Server 和 SQLite 不支持这种比较方法。我需要在 SQL Server 和 SQLite 中执行相同操作的东西。

【问题讨论】:

    标签: sql sql-server sqlite


    【解决方案1】:

    你可以用明确的逻辑做到这一点:

    (a1 > b1 or a1 = b1 and a2 > b2)
    

    大多数其他数据库不支持这种表示法。

    还有其他方法。如果数字很小,您可以执行以下操作:

    a1*100000 + a2 > b1*100000 + b2
    

    【讨论】:

    • 我不敢相信我是怎么错过的。这对我很有用。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 2015-10-11
    • 1970-01-01
    • 2010-10-03
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多