假脱机文件名基于动态日期

时间:2018-11-22 22:57:17

标签: oracle shell plsql sqlplus spool

我必须使用Spool而不是UTL来创建文件。文件名的逻辑如下:

逻辑是

  1. 如果日期少于20天,则文件名应为前一个月。
  2. 如果日期大于或等于20,则文件名应为当月。
  3. 如果月份是4月至12月,则YYYY将是当年加1。
  4. 如果月份是1月,2月或3月,则YYYY将是当年。

所有这些逻辑都是基于“与”的。例如,

如果文件在2019年1月28日被假脱机,则文件名将为ABCD_JAN_JAN_2019.csv

但是如果文件在2019年1月18日被假脱机,则文件名将为ABCD_DEC_DEC_2019.csv

如果文件将于2019年4月18日假脱机,则文件名将为ABCD_MAR_MAR_2019.csv

但是,如果文件在2019年4月26日被假脱机,则文件名将为ABCD_APR_APR_2020.csv

我可以在UTL中执行此操作,但是我的公司严格执行NO UTL policy,并且在使用Spool时我找不到解决方法。 我准备制作一个通用文件,然后使用Shell脚本重命名该文件。

0 个答案:

没有答案