PostgreSQL连接整数和实数并添加单位

时间:2017-10-04 19:56:45

标签: postgresql

我想在PostgreSQL查询中连接4列,如果列不空,则添加单位。

 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;

这样可以正常工作,但如果我在两个列中有值,那么它只显示第一个。 我该如何更改查询,以便评估第二个WHEN?

1 个答案:

答案 0 :(得分: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;