oracle SQL*Plus出力csv

SQL> desc emp
 名前                            NULL?    タイプ
 ------------------------------- -------- ----
 EMPNO                           NOT NULL NUMBER(4)
 ENAME                                    VARCHAR2(10
 JOB                                      VARCHAR2(9)
 MGR                                      NUMBER(4)
 HIREDATE                                 DATE
 SAL                                      NUMBER(7,2)
 COMM                                     NUMBER(7,2)
 DEPTNO                                   NUMBER(2)

CSVファイルを作成する為に以下を実行する。

SQL> set echo off
SQL> set heading off
SQL> set termout off
SQL> set pause off
SQL> set pagesize 0
SQL> set linesize 80
SQL> set feedback off
SQL> spool emp.csv
SQL> select empno || ',' || ename || ',' ||
  2  job || ',' || sal from emp;
7369,SMITH,CLERK,800
7499,ALLEN,SALESMAN,1600
7521,WARD,SALESMAN,1250
7566,JONES,MANAGER,2975
7654,MARTIN,SALESMAN,1250
7698,BLAKE,MANAGER,2850
7782,CLARK,MANAGER,2450
7788,SCOTT,ANALYST,3000
7839,KING,PRESIDENT,5000
7844,TURNER,SALESMAN,1500
7876,ADAMS,CLERK,1100
7900,JAMES,CLERK,950
7902,FORD,ANALYST,3000
7934,MILLER,CLERK,1300
SQL> spool off

以上の操作によりemp.csvという名前でCSVファイルが作成される。
WindowsのSQL*Plusの場合は、SQL*Plusの実行ファイルが格納されている ディレクトリにCSVファイルが作成される。



オプションやSQLを変更して、作成するCSVファイルを変更する方法を以下に説明する。

  • 各項目をダブルクォートで括りたい場合
    SQL文を以下のように変更する。

    SQL> select '"' || empno || '","' || ename || '","' ||
    job || '","' || sal || '"' from emp;

    上記のSQL文により作成されるデータは、以下のようになる。
    "7369","SMITH","CLERK","800"
    "7499","ALLEN","SALESMAN","1600"
    "7521","WARD","SALESMAN","1250"
    "7566","JONES","MANAGER","2975"
    "7654","MARTIN","SALESMAN","1250"
    "7698","BLAKE","MANAGER","2850"
    "7782","CLARK","MANAGER","2450"
    "7788","SCOTT","ANALYST","3000"
    "7839","KING","PRESIDENT","5000"
    "7844","TURNER","SALESMAN","1500"
    "7876","ADAMS","CLERK","1100"
    "7900","JAMES","CLERK","950"
    "7902","FORD","ANALYST","3000"
    "7934","MILLER","CLERK","1300"
    

  • 各レコードの改行位置を変更する場合
    以下のパラメータを変更する。
    set linesize 100
    改行位置を100バイト目にする。 
  • 作成するCSVファイル名を変更する場合
    以下のパラメータを変更する。
    spool emp.csv 
  • CSVファイル名の先頭行に列見出しを入れる場合
    以下のパラメータを変更する。
    set heading on
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值