SQL
我需要执行以下查询ORACLE
:
select
(DISPONIBILIDADES/EFECTIVO) as DISPONIBLE
from sbv
where banco = 'ACTIVO (BU)'
但我收到以下错误:
ORA-01476: 除数等于零 01476. 00000 - “除数等于零”
该字段EFECTIVO
的值为 0。我知道除以 0 会产生不确定性,但我需要如果除以 0,则结果为 0。
SQL
我需要执行以下查询ORACLE
:
select
(DISPONIBILIDADES/EFECTIVO) as DISPONIBLE
from sbv
where banco = 'ACTIVO (BU)'
但我收到以下错误:
ORA-01476: 除数等于零 01476. 00000 - “除数等于零”
该字段EFECTIVO
的值为 0。我知道除以 0 会产生不确定性,但我需要如果除以 0,则结果为 0。
为此,我们可以在进行除法之前使用case来检查该值是否不为 0。
通常更好地接受这种除法的结果是
NULL
而不是零,因为它的含义是精确不确定的。为此,您可以使用以下功能
nullif
:如果你希望它返回零,你可以使用
nvl()
o `coalesce():