我有一个sql代码正在检索一行有多行,有没有办法让它将这两行合并为一行。
select revertrsn from LN08PENm where aano in(754,870,1136,1138,1139,1140)
我正在检索的行中的数据是这样的:
根据Mohammad Sulaiman的批准
通过邮件日期07/04/2009
我希望它像这样一行:
根据Mohammad Sulaiman的邮件日期07/04/2009批准
答案 0 :(得分:2)
您可以使用空白字符\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)
。令人困惑的是,我们需要记录的操作系统是加载数据的操作系统,而不是我们用于输出的操作系统。
答案 1 :(得分:1)
清理这种混乱的好方法只是取代非打印控制代码。
update tab
set col = regexp_replace(col,'[:cntrl:]','')
where col != regexp_replace(col,'[:cntrl:]','')