The COALESCE function returns the first of its arguments that is not null (Функция COALESCE возвращает первый аргумент не null). Null is returned only if all arguments are null (Null возвращается только если все аргументы null). It is often used to substitute a default value for null values when data is retrieved for display, for example (Это часто используется для того, чтобы заменить отсутствующие данные по умолчанию при попытке их отобразить, например):
Вариант с COALESCE неудобен, на мой взгляд, тем, что типы аргументов должны совпадать. Удобнее использовать CONCAT, автоматически фильтрующий NULL-значения. SELECT CONCAT(c.fio_f,' ', c.fio_i,' ', c.fio_o)AS fio
Отвечаю сам себе
http://www.postgresql.org/docs/8.3/interactive/functions-conditional.html
9.16.2. COALESCE
COALESCE(value [, ...])
The COALESCE function returns the first of its arguments that is not null (Функция COALESCE возвращает первый аргумент не null). Null is returned only if all arguments are null (Null возвращается только если все аргументы null). It is often used to substitute a default value for null values when data is retrieved for display, for example (Это часто используется для того, чтобы заменить отсутствующие данные по умолчанию при попытке их отобразить, например):
SELECT COALESCE(description, short_description, '(none)') ...
т.е. в моем примере:
Конкатенация через CONCAT
Вариант с COALESCE неудобен, на мой взгляд, тем, что типы аргументов должны совпадать. Удобнее использовать CONCAT, автоматически фильтрующий NULL-значения.
SELECT CONCAT(c.fio_f, ' ', c.fio_i, ' ', c.fio_o) AS fio