Функция coalesce() возвращает первое непустое значение из списка
Синтаксис функции coalesce(выражение1, выражение2, ...)
Как работает эта функция очень наглядно можно продемонстрировать на примере с адресами.
Допустим, есть форма ввода данных, в которой для адреса отведено 2 поля: address1, address2
Пользователь может заполнить оба поля, одно из полей, вообще их не заполнять
Задача - собрать адрес
С помощью функции coalesce() это делается очень просто
DECLARE @t TABLE (id INT, address1 VARCHAR(255), address2 VARCHAR(255))
INSERT INTO @t(id,address1,address2) VALUES(1,'City', 'Street')
INSERT INTO @t(id,address1,address2) VALUES(2,NULL, 'Avenue')
INSERT INTO @t(id,address1,address2) VALUES(3,'Country', NULL)
INSERT INTO @t(id,address1,address2) VALUES(4,NULL, NULL)
SELECT COALESCE(t.address1+' '+t.address2,t.address1, t.address2) FROM @t t