From: | Nick Gazaloff <nick(at)sbin(dot)org> |
---|---|
To: | |
Cc: | pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | Re: [pgsql-ru-general] Re[2]: [pgsql-ru-general] настройк |
Date: | 2005-12-06 20:24:57 |
Message-ID: | 4395F399.8040104@sbin.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Serik wrote:
> Здравствуйте, Nick.
>
> Вы писали 6 декабря 2005 г., 2:58:47:
>
> NG> Serik wrote:
>
>>>Добрый день !
>>>
>>>Можно настроить PostgreSQL, чтобы запрос
>>>
>>>select 'test' || NULL || '' as ret;
>>>
>>>возвращал не пустую строку, а то, что есть ?
>
>
> NG> Имманентным свойством NULL является "распространяемость" через
> NG> выражения, то есть, любые выражения с NULL возвращают NULL. Если вы
> NG> хотите иначе -- то это будет уже не NULL, а что-то другое. Пустая
> NG> строка, например. Попробуйте сначала заменять NULL на пустую строку.
> NG> Вообще хорошо бы получше сформулировать задачу.
>
> Спасибо за ответ.
> Задача совершенно простая, в таблице есть поля "фамилия", "имя",
> "отчество".
> Я хочу чтобы запрос возвратил мне одно поле "Фамилия И.О.", а
> отчество может быть NULL, и соответственно возвращается пустая строка.
>
> Стандартной функции на проверку строки на NULL, и замену на "" не
> нашел. Написать свою ?
>
Упрощенно:
lastname || ' ' || firstname || COALESCE(secondname, '');
--
С уважением,
технический директор ООО "ЦСА"
Николай Газалов
http://www.sbin.org
sip:nick(at)sbin(dot)org
+7 8793 365584
(GPG Key ID: 4396B2D0)
From | Date | Subject | |
---|---|---|---|
Next Message | Serik | 2005-12-07 09:25:41 | получение ip-адреса в процедуре |
Previous Message | Denis A. Egorov | 2005-12-06 14:40:02 | Re: insert |