11

表1に以下のレコードがあります

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

c1 c2とc3をマージして、出力が

出力の間にスペースがあるABCconcat関数を使用しましたが、次のような3つの引数を取りません。

select concat (c1,c2,c3) from table1

select * from table11列に出力したいので実行できません

4

5 に答える 5

15

これは、少なくとも次の z/OS バージョンで機能します。

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

DB2 の資料を理解する

于 2013-03-06T16:50:48.070 に答える
9

最近同じ問題に遭遇しました。 || を使用しました。(二重パイプ)列に連結するため。

この問題を解決するには、クエリにラッパーを記述する必要もありました。

以下は、私のクエリが最終的にどのように見えるかのスニペットです。

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
于 2014-12-22T16:30:12.620 に答える
5

try this.

select concat(concat (c1,c2),c3) from table1
于 2013-03-06T15:54:19.337 に答える
1

SQL から DB2 への変換で問題が発生しました。このページは役に立ちましたが、最終的に少し変更を加えました。

SELECT
RTRIM(C1) || '' || C2 as CFULL
FROM TABLE
于 2015-09-16T21:46:23.967 に答える