2013-03-06 71 views
6

我table1中有如下記載DB2:功能合併3列輸出

c1 c2 c3 
---------- 
A B C 

如何合併C1 C2和C3所以輸出想

ABC 與空間在輸出 我之間使用concat函數,但它不是服用3個參數 像

select concat (c1,c2,c3) from table1 

我不能運行select * from table1我婉t輸出在一列

回答

9

這至少工作在z/OS的版本:

select c1 concat ' ' concat c2 concat ' ' concat c3 

讓我們來了解DB2 documentation

+1

感謝您提供的解決方案以及DB2文檔,它確實對我有所幫助。 – Deepak 2013-03-06 19:58:11

+1

你也可以使用'''代替'concat'。 – 2017-01-04 20:27:33

3

試試這個。

select concat(concat (c1,c2),c3) from table1 
+0

這cancat沒有在我的DB2 V-9.7的工作,有沒有什麼辦法來Concat的超過3列結果 – Deepak 2013-03-06 15:57:30

+0

我沒有太多的經驗與db2,但我的編輯應該有所幫助.. – Mortalus 2013-03-06 15:59:14

+0

我剛剛在DB2 ' select select(c1,concat(c2,c3))from table1'中嘗試了以下命令: – Deepak 2013-03-06 16:04:02

2

我最近遇到了同樣的問題來了,我用了|| (雙管)以連接到列。

我還必須在我的查詢中編寫包裝來克服問題。

下面是我的查詢在最後看起來像一個片段。

select a1 || a2 as a2, a3 || a4 as a4 --wrapper 2 
from (
select '"service":"' as a1,a2, '","total":' as a3, a4 --wrapper 1 
from (
select distinct(a2),count(*) as a4 
from abc.table 
group by a2 
order by a2) 
); 

下面是什麼,輸出中是從查詢:

"service":"ABC" , "total":123 
+0

管道是他們的方式去爲我! – 2016-11-17 21:28:49

0

我有一個問題,從SQL轉換爲DB2。本頁面幫助,但我最終作出了一點變化:

SELECT 
RTRIM(C1) || '' || C2 as CFULL 
FROM TABLE