【问题标题】:Make MIN(column) return NULL if column contains NULL如果列包含 NULL,则使 MIN(column) 返回 NULL
【发布时间】:2018-07-14 16:51:06
【问题描述】:
SELECT MIN(column) FROM table;

将从 nonnull 元素返回最小值。

我想编写一个查询,将NULL 视为可能的最小值。

我已经看到使用 dates 使用特殊值的技巧,例如:https://stackoverflow.com/a/32240382/7810882

但是如果列的类型是 int 并且没有可以将 NULL 映射到的特殊值呢?

【问题讨论】:

    标签: sql


    【解决方案1】:

    您可以使用case 表达式来做到这一点:

    SELECT (CASE WHEN COUNT(*) = COUNT(COLUMN) THEN MIN(column) END)
    FROM table;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 2011-05-11
      • 2019-02-07
      相关资源
      最近更新 更多