Что PostgreSQL эквивалентен для ISNULL ()

В SQL Server MS я могу сделать:

SELECT ISNULL(Field,'Empty') from Table

Но в PostgreSQL я получаю синтаксическую ошибку. Как я эмулирую ISNULL() функциональность?

239
задан Erwin Brandstetter 13 January 2012 в 15:34
поделиться

2 ответа

SELECT CASE WHEN field IS NULL THEN 'Empty' ELSE field END AS field_alias

Или более идиоматически:

SELECT coalesce(field, 'Empty') AS field_alias
430
ответ дан 23 November 2019 в 03:19
поделиться

Создайте следующую функцию

CREATE OR REPLACE FUNCTION isnull(text, text) RETURNS text AS 'SELECT (CASE (SELECT $1 "
    "is null) WHEN true THEN $2 ELSE $1 END) AS RESULT' LANGUAGE 'sql'

, и она будет работать.

Вы можете создавать разные версии с разными типами параметров.

-10
ответ дан 23 November 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: