Несколько постов, помеченных мной как MSSQL, были переименованы в 'SQL' модератором.Поэтому я предполагаю, что вы используете MSSQL
COALESCE вернет ПЕРВОЕ ненулевое значение.
SELECT COALESCE('a', NULL, 'c')
вернет только 'a'
Если вы хотите Firstname +Фамилия, где иногда один или другой имеет значение NULL, используйте CONCAT.Concat добавляет строки вместе и заменяет NULLS ненулевым значением длины 0.
SELECT CONCAT('a', NULL, 'c')
вернет 'ac'
Если вы хотите, чтобы Fn пробел + пробел среднего имени + LN, объедините concatinateс CONCAT:
SELECT CONCAT('a' + ' ', NULL + ' ', 'c')
Возвращает 'a c'.
Пробел после среднего имени (null) удаляется с помощью + и NULL.
NULL + ''имеет значение null.
Таким образом, в случаях, когда Middlename или Firstname имеют значение NULL, вы не получите лишних нежелательных пробелов.