COALESCE 返回第一个非 NULL 值

SELECT COALESCE(a, b, c, d, 5) FROM 
    (SELECT NULL A, NULL b, NULL c, 4 d FROM DUAL);
COALESCE(A, B, C, d, 5)
4

在某些情况下,当第二个参数不是常数时,使用带有两个参数的 COALESCE 可能比使用 NVL 更快。NVL 将始终评估这两个参数。COALESCE 将在遇到的第一个非 NULL 值时停止。这意味着如果第一个值为非 NULL,则 COALESCE 将更快。