Скажем, у меня есть запрос:
SELECT FirstName, LastName, Sex, Age FROM Human
Если по какой-либо причине в таблице есть ноль для значения, мы можем:
coalesce(FirstName, 'Unknown')
Для больших запросов с гораздо большим количеством столбцоввместо объединения каждого столбца отдельно есть способ объединить каждый отдельный столбец, но без дублирования количества операций coalesce
?
Примерно так:
SELECT coalesce(FirstName, LastName, Sex, Age, 'Unknown') FROM Human
(я знаюэто неправильно и не сработает, это часть моего примера, пытающегося проиллюстрировать мои намерения).
В идеале вышеизложенное проверяет каждый столбец по очереди и заменяет все нули на «Неизвестно».Есть ли более простой способ сделать это, чем этот:
SELECT coalesce(FirstName,'Unknown'), coalesce(LastName,'Unknown'), coalesce(Sex, 'Unspecified'), coalesce(Age,'0') FROM Human
Кроме того, возвращаясь к этому примеру:
SELECT coalesce(FirstName, LastName, Sex, Age, 'Unknown') FROM Human
Есть ли способ применения избыточного изгиба coalesce
как указано выше, кроме количества столбцов?Например, только для FirstName
, LastName
и Sex
, а не для остальных.