我有一个 sql 代码正在检索一行多行,有没有办法让它将这两行合并为一行。
select revertrsn from LN08PENm where aano in(754,870,1136,1138,1139,1140)
我正在检索的行中的数据是这样的:
根据穆罕默德·苏莱曼的批准
邮寄日期 07/04/2009
我希望它像这样在一行中:
根据 Mohammad Sulaiman 的批准,邮寄日期为 07/04/2009
您可以替换换行符\n
或char(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)
. 令人困惑的是,我们需要关注的操作系统是加载数据的操作系统,而不是我们用于输出的操作系统。
清理这种混乱的一个好方法就是替换一般的非打印控制代码。
update tab
set col = regexp_replace(col,'[:cntrl:]','')
where col != regexp_replace(col,'[:cntrl:]','')