Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Глюк, и полезность? / 4 сообщений из 4, страница 1 из 1
14.12.2006, 15:52
    #34200509
Глюк, и полезность?
Работал на Postgres версии 7.4, вот такой запрос выполнялся прекрасно:

db=> select lastname||' '||firstname||' '||middlename as name from clients where id=33;
name
-----------------
Пупкин
(1 row)

При том, что firstname и middlename равняются null.
Однако, при переходе на версию 8.1 тот же запрос возвращает пустую строку:
db1=> select lastname||' '||firstname||' '||middlename||' ' as name from clients where id=33;
name
------

(1 row)

Данные те же:
db1=> select lastname,firstname,middlename as name from clients where id=33;
lastname | firstname | name
----------------------+-----------+------
Пупкин | |
(1 row)

Кто подскажет, как красиво вылечить это?
...
Рейтинг: 0 / 0
14.12.2006, 16:10
    #34200582
ChameLe0n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк, и полезность?
select coalesce(lastname,'')||' '||coalesce(firstname,'')||' '||coalesce(middlename,'')||' ' as name from clients where id=33;

?
...
Рейтинг: 0 / 0
14.12.2006, 16:17
    #34200605
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк, и полезность?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE OR REPLACE FUNCTION text_cat2(text,text)
  RETURNS text AS
$BODY$
SELECT CASE WHEN $ 1  IS NULL THEN $ 2 
WHEN $ 2  IS NULL THEN $ 1 
ELSE $ 1 ||$ 2  
END
;
	

 $BODY$
  LANGUAGE 'sql' IMMUTABLE;

CREATE OPERATOR |||(
  PROCEDURE = text_cat2,
  LEFTARG = text,
  RIGHTARG = text);
SELECT ('a' ||| Null ||| 'b'):: varchar( 12 );
---
"ab"
...
Рейтинг: 0 / 0
15.12.2006, 06:18
    #34201628
Глюк, и полезность?
coalesсe красивее, по моему мнению :) спасибо!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Глюк, и полезность? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]