set newpage none --換頁空幾行
set space 0 --欄位間空幾個space
set pagesize 0 --輸出每頁行數,預設為24,為了避免分頁,可設定為0。
set heading off --欄位表頭
set echo off --Show SQL語法在畫面上
set termout off --顯示腳本中的命令的執行結果
set trimout on --刪除標準輸出每行的行尾空格
set trimspool on --刪除行尾空白
set linesize 2500 --每行長度==>太小會斷行,太大效能差
spool test.csv --匯出到 test.csv 檔案裡,目錄與sqlplus 相同。
Select 欄位A||'┴'|| replace(欄位B ,CHR(10),CHR(13))||'┴' from 資料庫.資料表 where 欄位B is not null order by 欄位A;
/*因為欄位B 裡有斷行符號^p,要將他轉換成分行符號^l
/*^p, ^l為word 的代碼,ASCII碼分別為CHR(10),CHR(13)
/*欄位A與欄位B間,用┴作區隔
spool off --結束匯出
set pagesize 50000 (2)
set linesize 1000 (3)
spool filename.csv (4)
select tab01 ||','|| tab02 ||','|| tab03 from table; (5)
spool off (6)
set pagesize 0
set feedback off
set head off
set trimout on
set trimspool on
set linesize 200
set echo off
set serveroutput on
spool /home... //output path
//query statement
spool off
exit
1樓. cruise2014/03/06 10:10換行正確來說應該是wondows系統為0D0A(chr(13)+chr(10)),UNIX系統則為0A(chr(10))
chr(10) =>carriage return
chr(13) => line feed
這兩個控制字元主要是在控制游摽的位置,所以如果要置換換行字元我覺得比較好的方式是replace(replace(欄位B,chr(10),null),chr(13),null)




