Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将linux的sql查询输出以适当的格式放入文件中?_Sql_Oracle_Shell - Fatal编程技术网

如何将linux的sql查询输出以适当的格式放入文件中?

如何将linux的sql查询输出以适当的格式放入文件中?,sql,oracle,shell,Sql,Oracle,Shell,我正在运行一个连接到oracle的shell scipt,它运行一个选择查询,并以上述格式显示数据(附屏幕截图)。我正在使用spool命令将此数据重定向到文件。我怎样才能在我的文件中有表格格式的数据,比如带有标题的excel 我尝试了以下选项,但它不能正常工作 set feedback off set pages 0 set verify off set pagesize 0 embedded on SET COLSEP "," SET LINESIZE 200 SET UNDERLINE =

我正在运行一个连接到oracle的shell scipt,它运行一个选择查询,并以上述格式显示数据(附屏幕截图)。我正在使用spool命令将此数据重定向到文件。我怎样才能在我的文件中有表格格式的数据,比如带有标题的excel

我尝试了以下选项,但它不能正常工作

set feedback off
set pages 0
set verify off
set pagesize 0 embedded on
SET COLSEP ","
SET LINESIZE 200
SET UNDERLINE =
set markup on
set termout off
BREAK ON ROW SKIP PAGE

我通常将其假脱机到扩展名为
.TXT
的文件中。在MS Excel中,打开该文件时,文本导入向导打开并询问如何执行该操作(哪一行是第一行,我使用了哪一个分隔符,…),所有内容都放在自己的列中

如果将其另存为
.CSV
,Excel将打开它,但将所有内容放入列“a”(这是您不想要的)

这是我的套装:

set termout off 
set trimspool on 
set echo off 
set verify off 
set autoprint off 
set serveroutput off 
set arraysize 1000 
set pagesize 0
set linesize 100
set long 10000
set numwidth 10
set feedback off
set colsep ';'

我通常将其假脱机到扩展名为
.TXT
的文件中。在MS Excel中,打开该文件时,文本导入向导打开并询问如何执行该操作(哪一行是第一行,我使用了哪一个分隔符,…),所有内容都放在自己的列中

如果将其另存为
.CSV
,Excel将打开它,但将所有内容放入列“a”(这是您不想要的)

这是我的套装:

set termout off 
set trimspool on 
set echo off 
set verify off 
set autoprint off 
set serveroutput off 
set arraysize 1000 
set pagesize 0
set linesize 100
set long 10000
set numwidth 10
set feedback off
set colsep ';'

如果您使用的是12.2版,只需执行以下操作

Set markup CSV

如果您使用的是12.2版,只需执行以下操作

Set markup CSV
您可以抓取将运行所有正常sqlplus的东西,但在上面添加了更多

这里有一个快速的例子,说明你在寻找什么

sql klrice/klrice

SQLcl: Release 18.1 Production on Wed Feb 07 17:28:32 2018

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

Last Successful login time: Wed Feb 07 2018 17:28:56 -05:00

Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production


SQL> set feed off
SQL> set sqlformat csv
SQL> spool users.csv
SQL> select * from user_objects;
...rows.....
SQL> spool off
您可以抓取将运行所有正常sqlplus的东西,但在上面添加了更多

这里有一个快速的例子,说明你在寻找什么

sql klrice/klrice

SQLcl: Release 18.1 Production on Wed Feb 07 17:28:32 2018

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

Last Successful login time: Wed Feb 07 2018 17:28:56 -05:00

Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production


SQL> set feed off
SQL> set sqlformat csv
SQL> spool users.csv
SQL> select * from user_objects;
...rows.....
SQL> spool off

在上设置标记
不适合您吗?请指定“它工作不正常”。怎么不起作用?记住,你可以看到你的屏幕,而我们不能。我们只知道你告诉我们的。
设置标记对你没有好处吗?请指定“它工作不正常”。怎么不起作用?记住,你可以看到你的屏幕,而我们不能。我们只知道你告诉我们的。