【问题标题】:Oracle replacing null using NVL check for empty rowsOracle 使用 NVL 检查空行替换 null
【发布时间】:2015-07-10 19:44:46
【问题描述】:

我正在运行查询以检索整数,但想要检查空值。如果为 null,我希望查询返回 0。我该怎么做?我在下面尝试过,但它不起作用

select NVL(A_COUNT, 0) from MYTABLE where VEH_YEAR = '2003';

如果 A_COUNT 为空,我希望查询返回 0。在上述情况下,我在 VEH_YEAR 列中没有值 2003。如果我在 VEH_YEAR 列中有值 2003 但 A_COUNT 为空,则查询有效。

【问题讨论】:

  • SELECT NVL((select A_COUNT from MYTABLE where VEH_YEAR = '2003'), 0) A_COUNT from dual;这有效

标签: oracle null nvl


【解决方案1】:

在使用 NVL 之前,使用 Aggregate 之类的 MAX 函数是您的更好版本。

select NVL(MAX(A_COUNT),0) from MYTABLE where VEH_YEAR = '2003';

【讨论】:

    【解决方案2】:
    SELECT NVL((select A_COUNT from MYTABLE where VEH_YEAR = '2003'), 0) A_COUNT from dual;
    

    这行得通。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-19
      • 2021-05-15
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      • 2020-10-10
      • 2014-08-21
      相关资源
      最近更新 更多