0

我有一个 sql 代码正在检索一行多行,有没有办法让它将这两行合并为一行。

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

我正在检索的行中的数据是这样的:

根据穆罕默德·苏莱曼的批准

邮寄日期 07/04/2009

我希望它像这样在一行中:

根据 Mohammad Sulaiman 的批准,邮寄日期为 07/04/2009

4

2 回答 2

2

您可以替换换行符\nchar(10)空白字符。例如:

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

请注意, throw-a-line 指令因操作系统而异。在 Windows 上,您需要检查回车后跟换行符:chr(13)||chr(10). 令人困惑的是,我们需要关注的操作系统是加载数据的操作系统,而不是我们用于输出的操作系统。

于 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 回答