oracle中一列中的多行到一行

时间:2013-06-17 06:27:11

标签: oracle oracle11g

我的oracle表如下(地址列有多行):

ID         Address
--------------------
1456897    No 61 
           11th Street
           Tatabad  Coimbatore - 641012

如何获得所需的结果(将地址列作为一行)?

ID         Address
-------------------------
1456897   No 61 , 11th Street, Tatabad  Coimbatore - 641012

2 个答案:

答案 0 :(得分:2)

我不知道您的数据库的换行符是\x0a还是\x0d还是\x0d\x0a。因此,我提出了一个处理所有三种新线的以下解决方案。它将然而用一个,替换多个换行符。这可能是你想要的,也可能不是。

select
  id,
  regexp_replace(
     address, 
    '('||chr(10)||'|'||chr(13)||')+', 
    ', ') as address,
   .... 
 from
    ....

答案 1 :(得分:0)

删除列中的新行字符 - 类似于

SELECT REPLACE(Address_column, '\n', ' ') -- \n might be also \r\n or even \r
  FROM table_name