【问题标题】:SQLite equivalent of PostgreSQL's GREATEST functionSQLite 相当于 PostgreSQL 的 GREATEST 函数
【发布时间】:2011-01-11 02:55:27
【问题描述】:

PostgreSQL 有一个有用的函数叫做GREATEST。它返回传递给它的最大值,如记录的here

SQLite 中是否有任何等价物?

请注意,我只需要使用 2 个参数。

【问题讨论】:

    标签: sql sqlite postgresql


    【解决方案1】:

    SELECT MAX(1,2,..)

    参考:https://sqlite.org/lang_corefunc.html#maxoreunc

    max(X,Y,...)

    多参数 max() 函数返回具有最大值的参数,如果任何参数为 NULL,则返回 NULL。多参数 max() 函数从左到右搜索其参数以查找定义整理函数并将该整理函数用于所有字符串比较的参数。如果 max() 的任何参数都没有定义整理函数,则使用 BINARY 整理函数。请注意,当 max() 有 2 个或更多参数时,它是一个简单的函数,但如果只给出一个参数,则作为聚合函数运行。

    【讨论】:

    • 好的,有人可以用字符串解释 max 函数的奇怪行为吗? select max('rb','VISA', 'Visa', 'Visa Card1', 'VISA VISA Card', 'Visaaa') 返回'rb',为什么?!?
    • @zlatko:听起来像是区分大小写的比较。小写在大写之后。
    • @zlatko - 查看 ASCII 图表!
    • 小心,NULL 的行为是不同的:PostgreSQL GREATEST 仅当 所有 参数为 NULL 时才返回 NULL。如果 any 参数为 NULL,则 SQLite MAX 返回 NULL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    • 2013-07-25
    相关资源
    最近更新 更多