2011-09-29 23 views
7

2 sütunu (örn. FIRSTANME ve LASTNAME) birleştirmem gerekiyor. bunlardan biri null, ama diğeri boş değilseDB2: DB2'deki boş dizeleri nasıl birleştirilir?

FIRSTNAME || ' ' || LASTNAME`. 

, ben birleştirme sonucunda boş olsun:
Ben bu şekilde yapmak.
Ve davranış

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

Nasıl DB2 bu sorunu gidermek için aşağıdaki istiyorum?

cevap

13

Kullanım coalesce

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

Ya || concat operatöre IBM recomments anahtar kelime concat değil || operatörü kullanarak o

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

Not kullanarak.

Concat: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.sqlref%2Ffconc.htm
Coalesce: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.sqlref%2Ffcoal.htm