Oracle 使用 NVL 检查空行替换 null

Oracle replacing null using NVL check for empty rows

我是 运行 一个检索整数但想检查空值的查询。如果为空,我希望查询 return 0。我该怎么做?我在下面尝试了这个,但它不起作用

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

如果 A_COUNT 为空,我希望查询 return 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;

这有效。

你的查询的更好版本是,在使用 NVL.

之前使用像 MAX 这样的 Aggregate 函数
select NVL(MAX(A_COUNT),0) from MYTABLE where VEH_YEAR = '2003';