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 测试为真。我的问题:Oracle 对上述串联操作 SQL-92 的实现是否符合?涉及 NULL 的表达式不应该评估为 NULL 吗?如果您不这么认为,那么表达式 1 + NULL 为什么要计算为 NULL?