【问题标题】:Set newline character in sqlplus在 sqlplus 中设置换行符
【发布时间】:2020-05-14 11:51:37
【问题描述】:

我在 Windows 下使用sqlplus 将查询的输出假脱机到文件,因此我将 CRLF 作为假脱机文件中的换行符。我只想将 LF 设置为换行符,因为我的文件将被导入 *nix 系统。 有什么方法可以实现吗?

【问题讨论】:

    标签: oracle sqlplus


    【解决方案1】:

    不知道这方面的 sqlplus 设置,但其他一些选项是:

    1. 在 Unix/Linux 机器上使用 sqlplus 客户端连接到数据库并使用它进行假脱机(sqlplus 客户端平台决定文件格式)
    2. 将文件复制到 Unix 系统后,使用 dos2unix 实用程序或更可能可用的 tr -d '\015' < windowsfile.txt > unixfile.txt 命令将文件转换为 Unix 格式
    3. 你在哪里导入这个文件 - 也许目标系统的平面文件加载器支持忽略多余的字符?

    【讨论】:

      【解决方案2】:

      sqlplus中无法设置scape字符。

      https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12040.htm

      相反,您可以使用:

      DBMS_OUTPUT.PUT ( char(13));

      DBMS_OUTPUT.PUT ( char(10));

      如果您正在使用 DBMS_OUTPUT 并且不要使用 put_line 方法。

      https://docs.oracle.com/database/121/ARPLS/d_output.htm http://www.thesqlreport.com/?p=321

      【讨论】:

      • 感谢您的回答,但我想使用普通的spooling 来归档以提高速度,因为我必须从数据库中提取大约数十 GB 的数据。
      猜你喜欢
      • 2015-01-14
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 2013-01-29
      • 2021-05-22
      • 1970-01-01
      相关资源
      最近更新 更多