加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长百科 > 正文

ORACLE:需要在列之间没有空格的情况下导出表数据

发布时间:2021-01-10 01:38:37 所属栏目:站长百科 来源:网络整理
导读:假设我有表A列 col1 col2 col3 col4 ------------------- sajal singh 28 IND hello how are you 我想将数据导出到平面文件中,列之间没有空格或制表符 所以输出应该是 cat dump sajalsingh28IND hellohowareyou 我试过的.我写了一个剧本 #!/usr/bin/bash #th

假设我有表A列

col1   col2   col3   col4
      -------------------
      sajal  singh  28     IND
      hello  how    are    you

我想将数据导出到平面文件中,列之间没有空格或制表符
所以输出应该是

cat dump
      sajalsingh28IND
      hellohowareyou

我试过的.我写了一个剧本

#!/usr/bin/bash

      #the file where sql output will go
      OUT=report.txt
      >$OUT
      DESC=desc.txt
      >$DESC

      sqlplus -s "xxx/xxx@xxx" << END_SQL > /dev/null

      set pages 0
      set feedback off
      set heading off
      set trimspool off
      set termout off
      set verify off
      set wrap off

      SPOOL $DESC

      Select * from table_name;

      SPOOL OFF

      END_SQL

但我得到多行输出和标签/空格

>所以问题是我该如何解决这个问题?和
>我找到了一些数据泵实用程序,如expdp.我可以在Unix中使用它吗?如果是的话,我怎么能以这种格式实现转储呢?

谢谢

解决方法

如果您已有CSV转储,则可以运行以下命令:

awk 'BEGIN{FS=",";OFS=""}{$1=$1}1' csv.dump > new.dump

未经测试:

SET HEADING OFF
SET FEEDBACK OFF
SPOOL $DESC

SELECT col1 ||''|| col2 ||''|| col3 FROM table_name;

SPOOL OFF;

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读