标签: oracle plsql
我在程序中有这段代码:
if val is NULL then creb :=0; else creb := val; end if;
有没有更优雅的方式来处理null?
答案 0 :(得分:6)
使用coalesce (),如果传递给它,则返回列表中的第一个非空值:
coalesce ()
creb := coalesce(val, 0);
答案 1 :(得分:5)
作为波希米亚答案的补充,如果您需要带有值的 else 案例,则Oracle具有非标准NVL和NVL2不同于条件 - 处理该问题的功能。
NVL
NVL2
creb := nvl(val, 0);
COALESCE具有标准和接受多个参数的优点。
COALESCE