2017-10-04 21 views
0

我想連接PostgreSQL查詢中的4列,並添加單位如果列不​​爲空。PostgreSQL連接整數和實數並添加單位

SELECT 
    CASE 
     WHEN a.length_m notnull THEN a.length_m || 'm' 
     WHEN a.area_ar notnull THEN a.area_ar || 'ar' 
     WHEN a.vol notnull THEN a.vol || 'cbm' 
     WHEN a.pcs notnull THEN a.pcs || 'pcs' 
    END as quant; 
FROM actions a; 

這工作正常,但如果我在兩個colums中有值,它只顯示我第一個。 如何更改我的查詢,以便第二個WHEN得到評估?

回答

1

使用COALESCE

SELECT COALESCE(a.length_m ||'m', '') || 
     COALESCE(a.area_ar ||'ar', '') || 
     COALESCE(a.vol ||'cbm', '') || 
     COALESCE(a.pcs ||'pcs', '') as quant 
FROM actions a;