2013-03-06 69 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