如何通过oracle中的函数生成序列值

时间:2018-09-05 11:17:31

标签: sql oracle

2018-2019财政年度的序列名称应这样生成

180001
180002
180003
180004
180005
180006
180007

当财政年度于2019年3月31日结束时,旧序列将自动删除,新序列将自动生成

output
190001
190002
190003
190004
190005
190006  so on

1 个答案:

答案 0 :(得分:0)

您的问题范围尚不完全清楚,但是下面是一个可能的解决方案:

  1. 您可以通过将年份除以100(即2018-> 18)来分隔年份的数字,
  2. 如果您的年假是3月31日(例如2018年3月30日仍将在2017年考虑),则可以从当前日期减去3月31日至1月1日之间的天数,以获取年份日期的结果,然后应用上面的“ 1”计算,
  3. 运行数字是您当前日期与上一个3月31日之间的天数,
  4. 一旦有了这些,您的电话号码就是:

    Sequence = Year-Suffix * 10000 + Sequence

其中Year-Suffix以1计算,而Sequence以3计算。

希望这为您提供了解决问题的方法。