d580a088

Еще одно специальное выражение CASE — COALESCE



Еще одно специальное выражение CASE — COALESCE

COALESCE (объединять), как и NULLIF, является упрощенной формой специального выражения CASE. COALESCE работает со списками значений, которые могут быть как определенными, так и неопределенными. Если в списке только одно из значений не является NULL, то оно и становится значением выражения COALESCE. Если же в списке таких значений больше, чем одно, то значением выражения становится первое из них. Когда все значения списка — NULL, то значением выражения COALESCE также становится NULL.

Выражение CASE, выполняющее те же действия, имеет следующий вид:

CASE

    WHEN значение 1 IS NOT NULL

        THEN значение1

    WHEN значение2 IS NOT NULL

        THEN значение2

...

    WHEN значение_n IS NOT NULL

        THEN значение_n

    ELSE NULL

END

А соответствующий упрощенный синтаксис COALESCE выглядит так: COALESCE(значение1, значение2, ..., значение_n)

Возможно, вам придется использовать выражение COALESCE после выполнения операции OUTER JOIN (о которой рассказывается в главе 10). Этот оператор позволяет сократить объем вводимого кода.



Содержание раздела