千家信息网

使用sqlplus工具导出数据到csv文件,要求文件带有时间戳

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,现业务部门有需求,需要每天定时把数据库里的一些特定数据导出来,最好能以日期命名加以区分存档。这里选用是oracle的sqlplus工具。理由就是简单快捷高效,可以跨平台,linux和win都可以操作,
千家信息网最后更新 2024年09月22日使用sqlplus工具导出数据到csv文件,要求文件带有时间戳

现业务部门有需求,需要每天定时把数据库里的一些特定数据导出来,最好能以日期命名加以区分存档。

这里选用是oracle的sqlplus工具。理由就是简单快捷高效,可以跨平台,linux和win都可以操作,直接借助oracle的客户端就能完成,不行sqlldr那样复杂。

关于spool指令的参数,这里就不多叙述了,网上随便就能搜到,直接上脚本吧(我这里选的是windows平台)

scott.sql如下:

set colsep  ,set feedback off  set heading on set trimout on set pagesize 50set linesize 80set numwidth 10set termout offset trimout onset underline offcol datestr new_value filenameselect 'D:\test\scott_'||to_char(sysdate,'yyyymmdd')||'.csv' datestr from dual;spool &filename  select a.empno,a.ename,a.sal from emp a;  spool off  exit

注:

col datestr new_value filenameselect 'D:\test\scott_'||to_char(sysdate,'yyyymmdd')||'.csv' datestr from dual;spool &filename


其中这一部分是定义导出文件的变量,取得是数据库时间


另外准备一个连接数据库的bat脚本,select.bat:

sqlplus scott/scott@HSDB @scott.sqlpause

具体执行效果如下图,想了解更多欢迎评论交流






0