DB2: Как объединить нулевые строки в DB2? - PullRequest
8 голосов
/ 29 сентября 2011

Мне нужно объединить 2 столбца (например, FIRSTANME и LASTNAME).
Я делаю это так:

FIRSTNAME || ' ' || LASTNAME`.   

Если один из них равен нулю, а другой не равен нулю,Я получаю нулевое значение в качестве результата конкатенации.
И я хочу следующее поведение

FIRSTNAME = null and LASTNAME = "Smith" ==> 
  FIRSTANME || ' ' || LASTNAME == ' Smith'. 

Как решить эту проблему в DB2?

1 Ответ

15 голосов
/ 29 сентября 2011

Используйте coalesce

...
CONCAT( COALESCE(firstname,'') , COALESCE(lastname,'') )

Или используйте оператор || concat

...
COALESCE(firstname,'') || COALESCE(lastname,'') 

Обратите внимание, что IBM рекомендует использовать ключевое слово concat, а не оператор ||.

Конкат: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.sqlref%2Ffconc.htm
Объединение: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.sqlref%2Ffcoal.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...