Способ least()
обработки null
s - документированное поведение :
Если какой-либо аргумент равен NULL
, результат равен NULL
. Сравнение не требуется.
Это может показаться раздражающим, но распространение значения null
на набор результатов означает, что ваша база данных сообщает вам, что одно из ваших значений не определено; это согласуется с поведением других операций, которые включают null
(конкатенация строк, арифметические операции c, ...).
Если только третий столбец может быть null
, и ни один из другие два, вы можете сделать:
least(col1, col2, coalesce(col3, col1))