SQL возвращает значение NULL, если один столбец имеет значение NULL (в отличие от COALESCE ())

Заранее хочу сказать спасибо за помощь. Это отличное сообщество, и я нашел здесь много ответов по программированию.

У меня есть таблица с несколькими столбцами, 5 из которых содержат даты или null.

Я хотел бы написать запрос sql, который по существу объединяет 5 столбцов. столбцы в 1 столбец с условием, что если один из пяти столбцов содержит значение «NULL», возвращаемое значение будет пустым. По сути, противоположное условию объединения, когда возвращается первое ненулевое значение, я хочу вернуть первый ноль. Если ни один из них не равен нулю, оптимальным будет возврат наибольшей из 5 дат, однако я могу рассчитаться с возвратом любой из 5 дат.

    C1         C2          C3        C4        C5
    --         --          --        --        --
 1/1/1991   1/1/1991    1/1/1991  1/1/1991  2/2/1992
   NULL     1/1/1991    1/1/1991  1/1/1991  1/1/1991

Возвраты запроса:

    C1
    --
 2/2/1992
   NULL

Большое спасибо.

(Сервер - MSSQL2008. )

9
задан Rick Rodriguez 17 November 2010 в 19:38
поделиться