表1に以下のレコードがあります
c1 c2 c3
----------
A B C
C1 c2とc3をマージして、出力が
出力の間にスペースがあるBC concat関数を使用しましたが、次のような3つの引数を取りません。
select concat (c1,c2,c3) from table1
実行できませんselect * from table1
1列に出力したいので
最近同じ問題に遭遇しました。||を使用しました。 (二重パイプ)列に連結するため。
また、この問題を解決するために、クエリでラッパーを作成する必要がありました。
以下は、私のクエリが最終的にどのように見えるかのスニペットです。
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
これを試して。
select concat(concat (c1,c2),c3) from table1
SQLからDB2への変換で問題が発生しました。このページは役に立ちましたが、私は少し変更を加えることになりました:
SELECT
RTRIM(C1) || '' || C2 as CFULL
FROM TABLE
SELECT C1 CONCAT '' CONCAT ( C2 CONCAT '' CONCAT C3) FROM TABLENAME