【问题标题】:Oracle select CLOB column still has line break even after using chr(10) and chr(13)即使在使用 chr(10) 和 chr(13) 之后,Oracle 选择 CLOB 列仍然有换行符
【发布时间】:2018-12-04 09:56:39
【问题描述】:

我有以下疑问:

查询 1:

   select column1, column2 from table1 where column1 = 12345;

结果 1:

 column1|column2 
   12345|Topics briefed:
        |1) How to catch a fish
        |without using a fishing rod
        |2) How to cook a fish

查询 2:

select column1, REPLACE(REPLACE(column2, chr(10), ''), chr(13), '') as col2 from table1 where column1 = 12345;

结果 2:

 column1|col2 
   12345|Topics briefed: 1) How to catch a fish
        |without using a fishing rod 2) How to cook a fish

结果 2 不是我想要的,我希望所有内容都排成一行。我怎样才能达到以下结果:

 column1|col2 
   12345|Topics briefed: 1) How to catch a fish without using a fishing rod 2) How to cook a fish

提前致谢!

【问题讨论】:

  • 也许你会发现DUMP(substr(column2, 1, 4000))

标签: sql oracle oracle-sqldeveloper line-breaks clob


【解决方案1】:

也许这会起作用:

select column1, REPLACE(REPLACE(REPLACE(column2, chr(10), ''), chr(13), ''), chr(09), '') as col2
from table1
where column1 = 12345;

【讨论】:

  • 为什么制表符会导致输出换行?
  • 如果是多个制表符,那么有可能。
【解决方案2】:

你没有说你是如何显示这些结果的,但我猜你实际上已经去掉了换行符,但是你用来显示它们的任何东西都是包装它们。如果你在 sqlplus 中,你可以使用set linesize 999 使行变得非常宽,column column2 format a200 使第 2 列显示 200 个字符宽。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多