【问题标题】:Equivalent of SQL "greatest" function for Apache Derby?等效于 Apache Derby 的 SQL“最大”功能?
【发布时间】:2015-05-29 13:31:54
【问题描述】:

我正在寻找一种模拟“最大”的方法,如在 Apache Derby 中的 H2DB (http://www.h2database.com/html/functions.html#greatest) 和 Oracle 等各种数据库中实现的。指针表示赞赏。

编辑:我只需要两个值,这样我就可以根据之前的值有条件地更新一列。

【问题讨论】:

  • 编写自己的函数可能是最好的方法。只需两个或三个值,您就可以使用 CASE 声明来摆脱困境
  • @a_horse_with_no_name - 这为我指明了正确的方向:“set X = CASE WHEN X > FOO THEN X ELSE FOO END”似乎正是我所需要的;你想把你的评论变成答案吗?

标签: sql derby sql-function


【解决方案1】:

使用带有union all 的子查询并从中选择max 怎么样?
使用 oracle 语法...

  SELECT MAX(p) AS "greatest"
  FROM (SELECT '1' AS p
          FROM dual
        UNION ALL
        SELECT '2'
          FROM dual
        UNION ALL
        SELECT '3' FROM dual)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2016-05-19
    • 1970-01-01
    • 2018-05-06
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多