【问题标题】:Simple Math max function in MySQLMySQL中的简单数学最大值函数
【发布时间】:2010-12-27 12:06:39
【问题描述】:

如何在 MySQL 中找到两个显式值的最大值?类似于 MAXIMUM(1, @foo)。

有一些组函数,如 MAX、MIN、AVG 等,它们将列名作为参数并处理结果集。是否可以将两个显式值转换为结果集并使用这些函数?还有其他方法吗?

P.S.:我的一个存储过程需要一个 max 函数。

【问题讨论】:

    标签: sql mysql math stored-procedures


    【解决方案1】:

    如何在 MySQL 中找到两个显式值的最大值?类似于 MAXIMUM(1, @foo)。

    使用GREATEST函数:

    GREATEST(1, @foo)
    

    ...将返回较大的值 - 如果 1 大于 @foo 中的值,您将获得 1。否则,您将获得 @foo 中的任何值。此外,它不是聚合函数。

    替代方法是使用 CASE 语句:

    CASE WHEN 1 > @foo THEN 1 ELSE @foo END
    

    ...因为 CASE 是 ANSI 标准 - 适用于 Oracle、MySQL、SQL Server、Postgres...

    【讨论】:

    • 对面是link LEAST
    【解决方案2】:

    您可以使用IF(1 > @foo,1,@foo)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-03
      相关资源
      最近更新 更多