0

如何使用 NVL 将此代码输出中的空值替换为零?我需要零,所以我可以在这两列上执行加法

horse_wins + jockey_wins

目前,如果只有其中一个值为空,它们总和为空。我读过 NVL 在这种情况下可以提供帮助,但很难实施。

select
race_id,
horse_id,
horse_wins,
jockey_id,
jockey_wins,
horse_wins + jockey_wins
from
proj_entry a
FULL JOIN
tot_h_wins b
ON 
a.horse_id = b.horse
FULL JOIN
tot_j_wins c
ON
a.jockey_id = c.jockey
where 
race_id = 1
and
where
nvl(jockey_wins, 0);
4

1 回答 1

3
select
race_id,
horse_id,
horse_wins,
jockey_id,
jockey_wins,
NVL(horse_wins, 0) + NVL(jockey_wins, 0) wins
from
proj_entry a
FULL JOIN
tot_h_wins b
ON 
a.horse_id = b.horse
FULL JOIN
tot_j_wins c
ON
a.jockey_id = c.jockey
where 
race_id = 1

where当您想要更改值的显示方式时,不要在子句中使用 NVL 。Where用于过滤返回的行。如果要更改它的显示方式,请在select子句中使用它。

于 2014-04-21T15:15:31.170 回答