2016-12-18 4 views

答えて

3

一つの方法。

select trim(trailing ',' from 
      case when bar1 is not null then bar1||',' end || 
      case when bar2 is not null then bar2||',' end || 
      case when bar3 is not null then bar3 end) bar 
from t 

Sample Demo

2

一部のデータベースでは、正確にはconcat_ws()という機能がサポートされています。オラクルで

、それは3つの列のために十分に簡単です:case表現でそれを行うには

select trim(both ',' from replace(bar1 || ',' || bar2 || ',' || bar3, ',,', ',')) as bar 
from . . . 
関連する問題