5 ответов:
SELECT CASE WHEN field IS NULL THEN 'Empty' ELSE field END AS field_aliasили более идиоматические:
SELECT coalesce(field, 'Empty') AS field_alias
использовать
COALESCE()вместо:SELECT COALESCE(Field,'Empty') from Table;Он функционирует так же, как
ISNULL, хотя и обеспечивает большую функциональность. Coalesce вернет первое ненулевое значение в списке. Таким образом:SELECT COALESCE(null, null, 5);возвращает 5, в то время как
SELECT COALESCE(null, 2, 5);возвращает 2
Coalesce будет принимать большое количество аргументов. Документально подтвержденного максимума нет. Я проверил это будет 100 аргументов, и это удалось. Этого должно быть достаточно для подавляющего большинства ситуаций.
создайте следующую функцию
CREATE OR REPLACE FUNCTION isnull(text, text) RETURNS text AS 'SELECT (CASE (SELECT " "is null) WHEN true THEN ELSE END) AS RESULT' LANGUAGE 'sql'и это сработает.
вы можете создавать разные версии с разными типами параметров.
Comments