Quassnoi правильно, но еще проще (и немного быстрее) просто объединить результат:
SELECT coalesce( Variable + Variable2, 0 );
Это работает, потому что почти для всех операторов любой нулевой операнд делает операцию нулевой:
select 1 + null ; -- null
select null + 1 ; -- null
select null + null ; -- null
В выражении: SELECT coalesce( Variable + Variable2, 0 );
результат выражения сложения Variable + Variable2
равен coalesce
первый аргумент; если это null, coalesce возвращает свой второй аргумент, 0
, в противном случае он возвращает (не нулевое) значение своего первого аргумента, то есть сумму, которую мы хотим.
Те немногие операторы и функции, которые не возвращают ноль для нулевого операнда, предназначены для работы с нулями: coalesce
, is null
, is not null
.
Как отмечает Кристоф ниже, значение выражения select
отличается с помощью выражения Кассноя, если только одна переменная равна нулю: его будет возвращать значение ненулевой переменной, если единица равна нулю; мой вернет ноль, если либо переменная равна нулю. Что «правильно», зависит от ваших намерений.