将数据从oracle数据库假脱机到Excel文件时,每列都需要双引号

时间:2019-05-14 15:29:24

标签: sql oracle

我正在自动化一个过程,其中我通过批处理运行SQL查询,然后将输出假脱机到一个csv文件中。 要求:csv文件的每个字段均应用双引号引起来。

Ex:

Currently the output is PROJ_SHORT_NAME,WBS_SHORT_NAME
                        CGL1,CGL1 
Required output is "PROJ_SHORT_NAME","WBS_SHORT_NAME"
                   "CGL1","CGL1" 

SQL查询:

set verify off
set trimout off
set trimspool off
set feedback off
set linesize 22000
set pagesize 200
col csv_string FORMAT a1200
set colsep ','
SET UNDERLINE OFF
SET ECHO OFF

SPOOL E:\PDE_GPO\outputfile1.csv

select * from <tablename>;

SPOOL OFF
exit;

2 个答案:

答案 0 :(得分:0)

||将项目串联在一起。 您可以这样做:

SELECT '"'||col1||'","'||col2||'","'||...
FROM table

这将产生类似以下内容: 第1行:“ col1val”,“ col2val”,“ col3val” ... 第2行:...

不利的一面是您必须列出/知道要提取的每一列,但是最佳编码实践会指出您无论如何都要指定这些列(以防万一,如果要添加/删除内容,则要确保获得的内容是正确的)想要)。

-吉姆

答案 1 :(得分:0)

我为此找到了解决方案。 我必须导入设置标记csv,问题得以解决。