如何从oracle数据库列中删除行间距

时间:2016-04-21 15:05:10

标签: sql oracle

在我的数据库中,我从dblink中提取数据。 数据插入成功,但是当我从任何地方的字段中复制数据时,它会出现行差距。

如何删除列值之间的线间距?

例如:

我在数据库中的数据是:

   0232493, VAS Item, SONY

当我从数据库复制并粘贴到任何编辑器中时,它出现:

 0232493, VAS
    Item, SONY

1 个答案:

答案 0 :(得分:3)

您应该尝试了解字符串中的意外字符;可能是chr(13)和/或chr(10)。 你可以这样检查:

SQL> select '0232493, VAS
  2      Item, SONY'
  3  from dual ;

'0232493,VASITEM,SONY'
--------------------------------
0232493, VAS
    Item, SONY


SQL> select dump('0232493, VAS
  2      Item, SONY')
  3  from dual ;

DUMP('0232493,VASITEM,SONY')
--------------------------------------------------------------------------------
Typ=96 Len=27: 48,50,51,50,52,57,51,44,32,86,65,83,10,32,32,32,32,73,116,101,109
,44,32,83,79,78,89

Typ = 96 Len = 27:48,50,51,50,52,57,51,44,32,86,65,83, 10 ,32,32,32,32 ,73116101109     ,44,32,83,79,78,89

在示例中,我有chr(10),因此我使用replace:

将其删除
SQL> select replace('0232493, VAS
  2      Item, SONY', chr(10), '')
  3  from dual;

REPLACE('0232493,VASITEM,SONY',CHR(10),'')
--------------------------------------------------------------------------------
0232493, VAS    Item, SONY