我需要從sqlplus查詢格式化csv輸出文件。 char和varchar輸出字段以表格中的最大列大小出現,這意味着很多列有額外的空白,加上逗號分隔符。我怎樣才能擺脫我的CSV文件多餘的空白?另外我怎樣才能得到「」數字字段?從sqlplus運行的csv輸出格式在Unix腳本中運行
0
A
回答
0
你就可以擺脫的領先/使用微調功能尾隨空格:
http://www.adp-gmbh.ch/ora/sql/trim.html
SELECT TRIM(col) FROM table;
不知道爲什麼你讓周圍的數字字段報價:可能是一些與你的方式做將列連接在一起?
正如D.Shawley所問 - 如果您可以發佈一些您用於在此生成CSV的示例SQL,這將有所幫助。
2
您必須將字段連接在一起,然後自行添加引號。另外,不要忘記在數據中加入任何雙引號。除非數據包含逗號或雙引號,否則雙引號不是必需的,但添加它們並不會造成傷害。
SELECT '"' || numcol || '",',
'"' || REPLACE(strcol0, '"', '""') || '",',
'"' || REPLACE(strcol1, '"', '""') || '"'
FROM some_table;
在運行此操作之前,您可能需要關閉標題和反饋,然後將其緩存到文件中。
SQL> set heading off
SQL> set feedback off
SQL> set pagesize 0
SQL> spool output.csv
SQL> SELECT ... FROM ...;
SQL> spool off
相關問題
- 1. 從SSIS運行Unix腳本
- 2. 運行腳本後SQLPlus退出嗎?
- 3. 在UNIX中使用sqlplus運行SQL?
- 4. 運行在後臺的sqlplus在UNIX
- 5. 在UNIX中運行腳本的Crontab
- 6. 從Unix shell腳本運行MATLAB
- 7. 使用sqlplus從命令行運行oracle腳本的問題
- 8. 運行腳本並執行PHP輸出
- 9. 在輸出文件上運行腳本
- 10. 運行腳本平行,依次UNIX
- 11. unix腳本並行運行搜索
- 12. 我的輸出文本文件來自一個R腳本在Unix中運行?
- 13. 從簡單的HTML按鈕輸入運行Unix shell腳本
- 14. Unix Bash腳本運行但沒有輸出
- 15. 運行腳本的Bash捕獲輸出
- 16. 從Julia內部運行sqlplus
- 17. 如何從cron運行的Perl腳本中運行shell腳本?
- 18. 從TCL腳本和格式化輸出在後臺運行命令
- 19. 在bash腳本中運行PBS腳本和後處理輸出
- 20. 從腳本運行
- 21. 從java運行sqlplus腳本的簡單方法
- 22. 從shell腳本運行sqlplus時的錯誤處理
- 23. 如何在Unix上運行的python腳本輸出中顯示ANSI顏色
- 24. 在腳本/運行器中運行EventMachine
- 25. 從包中運行腳本
- 26. 在交互式輸出的CLI上運行php腳本
- 27. 從正在運行的python腳本讀取輸出的Linux python
- 28. Python:在後臺運行腳本並執行輸入/輸出
- 29. 腳本在Unix中運行,但不在Informatica命令任務中運行
- 30. 使用SQLPlus在一個事務中運行SQL腳本
請注意你在這裏要求什麼,但一個好的開始將包括一些示例輸入片段。從輸入到輸出文本流通常意味着一些有趣的sed或awk用法。但是我們需要查看一下sqlplus生成的內容和輸出內容。對於sed,awk或perl聽起來很不錯。 – 2009-11-10 01:01:37