【发布时间】:2010-10-02 12:36:50
【问题描述】:
Tony Andrews 在另一个question 中举了一个例子:
IF p_c_courtesies_cd
|| p_c_language_cd
|| v_c_name
|| v_c_firstname
|| v_c_function
|| p_c_phone
|| p_c_mobile p_c_fax
|| v_c_email is not null
THEN
-- Do something
END IF;
作为 Oracle COALESCE 函数的一个聪明的(如果不是有点晦涩的话)替代方案。果然,它有效,如果任何参数不为空,则 IF 测试为真。我的问题:Oracle对上述串联操作SQL-92的实现是否符合?涉及 NULL 的表达式不应该评估为 NULL 吗?如果你不这么认为,那么表达式 1 + NULL 为什么要计算为 NULL?
【问题讨论】: