0

複数行の行を取得するSQLコードがあります。これらの2行を1行に結合する方法はありますか。

select revertrsn  from LN08PENm where aano in(754,870,1136,1138,1139,1140)

私が取得している行にあるデータは次のようになります。

MohammadSulaimanの承認による

郵送日2009年7月4日

そして、私はそれをこのように一行にしたいと思います:

郵送日によるMohammadSulaimanの承認による2009年7月4日

4

2 に答える 2

2

\n改行文字またはchar(10)空白文字に置き換えることができます。例えば:

select replace(revertrsn,chr(10),' ') as only_one_line
  from LN08PENm 
 where aano in(754,870,1136,1138,1139,1140)

スローアライン命令はオペレーティングシステムによって異なることに注意してください。Windowsでは、キャリッジリターンとそれに続く改行を確認する必要がありますchr(13)||chr(10)。紛らわしいことに、私たちが気にする必要のあるOSは、出力に使用しているOSではなく、データをロードしたOSです。

于 2013-01-29T10:50:30.847 に答える
1

この種の混乱を解消するための良いアプローチは、一般的に非印刷制御コードを置き換えることです。

update tab
set    col =  regexp_replace(col,'[:cntrl:]','')
where  col != regexp_replace(col,'[:cntrl:]','')
于 2013-01-29T12:04:41.090 に答える