Tony Andrews在另一个问题中给出了以下示例:
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 测试就会为 true。我的问题是:上述连接操作的 Oracle 实现是否符合 SQL-92 标准?一个涉及空值的表达式不应该被计算为空值吗?如果您不这样认为,那么为什么表达式 1 + NULL 应计算为空值?