Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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
如何在oracle sql中生成payperiod_Sql_Oracle_Date_Recursive Query - Fatal编程技术网

如何在oracle sql中生成payperiod

如何在oracle sql中生成payperiod,sql,oracle,date,recursive-query,Sql,Oracle,Date,Recursive Query,这是我的密码: ` ` 这是我得到的输出 现在我想让它生成付款期2,付款期3,付款期4等 要获得第2个付款期,公式为2020年1月9日+14日范围内的所有日期 是否有一个较短的脚本来简化Oracle SQL中的代码,而不是手动创建 期望输出: 你如何选择支付期的逻辑并不清楚;但是,如果您希望在一年中的第一天星期五或之前开始,则: 在支付期内,第一天开始为 选择下一天TRUNC系统日期“YY”-间隔“7”天“星期五” 来自双重 , 日历日作为 选择TRUNC SYSDATE,'YY'+级别-1 来

这是我的密码:

`

`

这是我得到的输出

现在我想让它生成付款期2,付款期3,付款期4等

要获得第2个付款期,公式为2020年1月9日+14日范围内的所有日期

是否有一个较短的脚本来简化Oracle SQL中的代码,而不是手动创建

期望输出:


你如何选择支付期的逻辑并不清楚;但是,如果您希望在一年中的第一天星期五或之前开始,则:

在支付期内,第一天开始为 选择下一天TRUNC系统日期“YY”-间隔“7”天“星期五” 来自双重 , 日历日作为 选择TRUNC SYSDATE,'YY'+级别-1 来自双重
按级别连接您尝试实现的逻辑并不清楚。请以表格文本的形式向我们展示您想要的结果。您好,@GMB我已经在我得到的地方添加了一张所需输出的新图片。
with calendar as (
    
select rownum - 1 as dnum
    from dual
    connect by rownum < sysdate - to_date('1-jan-2010') + 1
)
select a.*, (case when a.pp ='1' then 'Pay Period 1' end) as PayPeriod from (
select to_date('1-jan-2020') + dnum as dat, (case when to_date('1-jan-2020') + dnum <= 
to_date('9-jan-20') then 1 else 0 end) as pp
from calendar) a;
DAY | PP :------------------ | -: 2020-01-01 00:00:00 | 1 2020-01-02 00:00:00 | 1 2020-01-03 00:00:00 | 1 2020-01-04 00:00:00 | 1 2020-01-05 00:00:00 | 1 2020-01-06 00:00:00 | 1 2020-01-07 00:00:00 | 1 2020-01-08 00:00:00 | 1 2020-01-09 00:00:00 | 1 2020-01-10 00:00:00 | 2 2020-01-11 00:00:00 | 2 2020-01-12 00:00:00 | 2 2020-01-13 00:00:00 | 2 2020-01-14 00:00:00 | 2 2020-01-15 00:00:00 | 2 2020-01-16 00:00:00 | 2 2020-01-17 00:00:00 | 2 2020-01-18 00:00:00 | 2 2020-01-19 00:00:00 | 2 2020-01-20 00:00:00 | 2 2020-01-21 00:00:00 | 2 2020-01-22 00:00:00 | 2 2020-01-23 00:00:00 | 2 2020-01-24 00:00:00 | 3 2020-01-25 00:00:00 | 3 2020-01-26 00:00:00 | 3 2020-01-27 00:00:00 | 3 2020-01-28 00:00:00 | 3 2020-01-29 00:00:00 | 3 2020-01-30 00:00:00 | 3 2020-01-31 00:00:00 | 3 2020-02-01 00:00:00 | 3 2020-02-02 00:00:00 | 3 2020-02-03 00:00:00 | 3 2020-02-04 00:00:00 | 3 2020-02-05 00:00:00 | 3 2020-02-06 00:00:00 | 3 2020-02-07 00:00:00 | 4 2020-02-08 00:00:00 | 4 2020-02-09 00:00:00 | 4 2020-02-10 00:00:00 | 4 2020-02-11 00:00:00 | 4 2020-02-12 00:00:00 | 4 2020-02-13 00:00:00 | 4 2020-02-14 00:00:00 | 4 2020-02-15 00:00:00 | 4 2020-02-16 00:00:00 | 4 2020-02-17 00:00:00 | 4 2020-02-18 00:00:00 | 4 2020-02-19 00:00:00 | 4 2020-02-20 00:00:00 | 4 2020-02-21 00:00:00 | 5 2020-02-22 00:00:00 | 5 2020-02-23 00:00:00 | 5 2020-02-24 00:00:00 | 5 2020-02-25 00:00:00 | 5 2020-02-26 00:00:00 | 5 2020-02-27 00:00:00 | 5 2020-02-28 00:00:00 | 5 2020-02-29 00:00:00 | 5 2020-03-01 00:00:00 | 5 2020-03-02 00:00:00 | 5 2020-03-03 00:00:00 | 5 2020-03-04 00:00:00 | 5 2020-03-05 00:00:00 | 5 2020-03-06 00:00:00 | 6 2020-03-07 00:00:00 | 6 2020-03-08 00:00:00 | 6 2020-03-09 00:00:00 | 6 2020-03-10 00:00:00 | 6 2020-03-11 00:00:00 | 6 2020-03-12 00:00:00 | 6 2020-03-13 00:00:00 | 6 2020-03-14 00:00:00 | 6 2020-03-15 00:00:00 | 6 2020-03-16 00:00:00 | 6 2020-03-17 00:00:00 | 6 2020-03-18 00:00:00 | 6 2020-03-19 00:00:00 | 6 2020-03-20 00:00:00 | 7 2020-03-21 00:00:00 | 7 2020-03-22 00:00:00 | 7 2020-03-23 00:00:00 | 7 2020-03-24 00:00:00 | 7 2020-03-25 00:00:00 | 7 2020-03-26 00:00:00 | 7 2020-03-27 00:00:00 | 7 2020-03-28 00:00:00 | 7 2020-03-29 00:00:00 | 7 2020-03-30 00:00:00 | 7 2020-03-31 00:00:00 | 7 2020-04-01 00:00:00 | 7 2020-04-02 00:00:00 | 7 2020-04-03 00:00:00 | 8 2020-04-04 00:00:00 | 8 2020-04-05 00:00:00 | 8 2020-04-06 00:00:00 | 8 2020-04-07 00:00:00 | 8 2020-04-08 00:00:00 | 8 2020-04-09 00:00:00 | 8 2020-04-10 00:00:00 | 8 2020-04-11 00:00:00 | 8 2020-04-12 00:00:00 | 8 2020-04-13 00:00:00 | 8 2020-04-14 00:00:00 | 8 2020-04-15 00:00:00 | 8 2020-04-16 00:00:00 | 8 2020-04-17 00:00:00 | 9 2020-04-18 00:00:00 | 9 2020-04-19 00:00:00 | 9 2020-04-20 00:00:00 | 9 2020-04-21 00:00:00 | 9 2020-04-22 00:00:00 | 9 2020-04-23 00:00:00 | 9 2020-04-24 00:00:00 | 9 2020-04-25 00:00:00 | 9 2020-04-26 00:00:00 | 9 2020-04-27 00:00:00 | 9 2020-04-28 00:00:00 | 9 2020-04-29 00:00:00 | 9 2020-04-30 00:00:00 | 9 2020-05-01 00:00:00 | 10 2020-05-02 00:00:00 | 10 2020-05-03 00:00:00 | 10 2020-05-04 00:00:00 | 10 2020-05-05 00:00:00 | 10 2020-05-06 00:00:00 | 10 2020-05-07 00:00:00 | 10 2020-05-08 00:00:00 | 10 2020-05-09 00:00:00 | 10 2020-05-10 00:00:00 | 10 2020-05-11 00:00:00 | 10 2020-05-12 00:00:00 | 10 2020-05-13 00:00:00 | 10 2020-05-14 00:00:00 | 10 2020-05-15 00:00:00 | 11 2020-05-16 00:00:00 | 11 2020-05-17 00:00:00 | 11 2020-05-18 00:00:00 | 11 2020-05-19 00:00:00 | 11 2020-05-20 00:00:00 | 11 2020-05-21 00:00:00 | 11 2020-05-22 00:00:00 | 11 2020-05-23 00:00:00 | 11 2020-05-24 00:00:00 | 11 2020-05-25 00:00:00 | 11 2020-05-26 00:00:00 | 11 2020-05-27 00:00:00 | 11 2020-05-28 00:00:00 | 11 2020-05-29 00:00:00 | 12 2020-05-30 00:00:00 | 12 2020-05-31 00:00:00 | 12 2020-06-01 00:00:00 | 12 2020-06-02 00:00:00 | 12 2020-06-03 00:00:00 | 12 2020-06-04 00:00:00 | 12 2020-06-05 00:00:00 | 12 2020-06-06 00:00:00 | 12 2020-06-07 00:00:00 | 12 2020-06-08 00:00:00 | 12 2020-06-09 00:00:00 | 12 2020-06-10 00:00:00 | 12 2020-06-11 00:00:00 | 12 2020-06-12 00:00:00 | 13 2020-06-13 00:00:00 | 13 2020-06-14 00:00:00 | 13 2020-06-15 00:00:00 | 13 2020-06-16 00:00:00 | 13 2020-06-17 00:00:00 | 13 2020-06-18 00:00:00 | 13 2020-06-19 00:00:00 | 13 2020-06-20 00:00:00 | 13 2020-06-21 00:00:00 | 13 2020-06-22 00:00:00 | 13 2020-06-23 00:00:00 | 13 2020-06-24 00:00:00 | 13 2020-06-25 00:00:00 | 13 2020-06-26 00:00:00 | 14 2020-06-27 00:00:00 | 14 2020-06-28 00:00:00 | 14 2020-06-29 00:00:00 | 14 2020-06-30 00:00:00 | 14 2020-07-01 00:00:00 | 14 2020-07-02 00:00:00 | 14 2020-07-03 00:00:00 | 14 2020-07-04 00:00:00 | 14 2020-07-05 00:00:00 | 14 2020-07-06 00:00:00 | 14 2020-07-07 00:00:00 | 14 2020-07-08 00:00:00 | 14 2020-07-09 00:00:00 | 14 2020-07-10 00:00:00 | 15 2020-07-11 00:00:00 | 15 2020-07-12 00:00:00 | 15 2020-07-13 00:00:00 | 15 2020-07-14 00:00:00 | 15 2020-07-15 00:00:00 | 15 2020-07-16 00:00:00 | 15 2020-07-17 00:00:00 | 15 2020-07-18 00:00:00 | 15 2020-07-19 00:00:00 | 15 2020-07-20 00:00:00 | 15 2020-07-21 00:00:00 | 15 2020-07-22 00:00:00 | 15 2020-07-23 00:00:00 | 15 2020-07-24 00:00:00 | 16 2020-07-25 00:00:00 | 16 2020-07-26 00:00:00 | 16 2020-07-27 00:00:00 | 16 2020-07-28 00:00:00 | 16 2020-07-29 00:00:00 | 16 2020-07-30 00:00:00 | 16 2020-07-31 00:00:00 | 16 2020-08-01 00:00:00 | 16 2020-08-02 00:00:00 | 16 2020-08-03 00:00:00 | 16 2020-08-04 00:00:00 | 16 2020-08-05 00:00:00 | 16 2020-08-06 00:00:00 | 16 2020-08-07 00:00:00 | 17 2020-08-08 00:00:00 | 17 2020-08-09 00:00:00 | 17 2020-08-10 00:00:00 | 17 2020-08-11 00:00:00 | 17 2020-08-12 00:00:00 | 17 2020-08-13 00:00:00 | 17 2020-08-14 00:00:00 | 17 2020-08-15 00:00:00 | 17 2020-08-16 00:00:00 | 17 2020-08-17 00:00:00 | 17 2020-08-18 00:00:00 | 17 2020-08-19 00:00:00 | 17 2020-08-20 00:00:00 | 17 2020-08-21 00:00:00 | 18 2020-08-22 00:00:00 | 18 2020-08-23 00:00:00 | 18 2020-08-24 00:00:00 | 18 2020-08-25 00:00:00 | 18 2020-08-26 00:00:00 | 18 2020-08-27 00:00:00 | 18 2020-08-28 00:00:00 | 18 2020-08-29 00:00:00 | 18 2020-08-30 00:00:00 | 18 2020-08-31 00:00:00 | 18 2020-09-01 00:00:00 | 18 2020-09-02 00:00:00 | 18 2020-09-03 00:00:00 | 18 2020-09-04 00:00:00 | 19 2020-09-05 00:00:00 | 19 2020-09-06 00:00:00 | 19 2020-09-07 00:00:00 | 19 2020-09-08 00:00:00 | 19 2020-09-09 00:00:00 | 19 2020-09-10 00:00:00 | 19 2020-09-11 00:00:00 | 19 2020-09-12 00:00:00 | 19 2020-09-13 00:00:00 | 19 2020-09-14 00:00:00 | 19 2020-09-15 00:00:00 | 19 2020-09-16 00:00:00 | 19 2020-09-17 00:00:00 | 19 2020-09-18 00:00:00 | 20 2020-09-19 00:00:00 | 20 2020-09-20 00:00:00 | 20 2020-09-21 00:00:00 | 20 2020-09-22 00:00:00 | 20 2020-09-23 00:00:00 | 20 2020-09-24 00:00:00 | 20 2020-09-25 00:00:00 | 20 2020-09-26 00:00:00 | 20 2020-09-27 00:00:00 | 20 2020-09-28 00:00:00 | 20 2020-09-29 00:00:00 | 20 2020-09-30 00:00:00 | 20 2020-10-01 00:00:00 | 20 2020-10-02 00:00:00 | 21 2020-10-03 00:00:00 | 21 2020-10-04 00:00:00 | 21 2020-10-05 00:00:00 | 21 2020-10-06 00:00:00 | 21 2020-10-07 00:00:00 | 21 2020-10-08 00:00:00 | 21 2020-10-09 00:00:00 | 21 2020-10-10 00:00:00 | 21 2020-10-11 00:00:00 | 21 2020-10-12 00:00:00 | 21 2020-10-13 00:00:00 | 21 2020-10-14 00:00:00 | 21 2020-10-15 00:00:00 | 21 2020-10-16 00:00:00 | 22 2020-10-17 00:00:00 | 22 2020-10-18 00:00:00 | 22 2020-10-19 00:00:00 | 22 2020-10-20 00:00:00 | 22 2020-10-21 00:00:00 | 22 2020-10-22 00:00:00 | 22 2020-10-23 00:00:00 | 22 2020-10-24 00:00:00 | 22 2020-10-25 00:00:00 | 22 2020-10-26 00:00:00 | 22 2020-10-27 00:00:00 | 22 2020-10-28 00:00:00 | 22 2020-10-29 00:00:00 | 22 2020-10-30 00:00:00 | 23 2020-10-31 00:00:00 | 23 2020-11-01 00:00:00 | 23 2020-11-02 00:00:00 | 23 2020-11-03 00:00:00 | 23 2020-11-04 00:00:00 | 23 2020-11-05 00:00:00 | 23 2020-11-06 00:00:00 | 23 2020-11-07 00:00:00 | 23 2020-11-08 00:00:00 | 23 2020-11-09 00:00:00 | 23 2020-11-10 00:00:00 | 23 2020-11-11 00:00:00 | 23 2020-11-12 00:00:00 | 23 2020-11-13 00:00:00 | 24 2020-11-14 00:00:00 | 24 2020-11-15 00:00:00 | 24 2020-11-16 00:00:00 | 24 2020-11-17 00:00:00 | 24 2020-11-18 00:00:00 | 24 2020-11-19 00:00:00 | 24 2020-11-20 00:00:00 | 24 2020-11-21 00:00:00 | 24 2020-11-22 00:00:00 | 24 2020-11-23 00:00:00 | 24 2020-11-24 00:00:00 | 24 2020-11-25 00:00:00 | 24 2020-11-26 00:00:00 | 24 2020-11-27 00:00:00 | 25 2020-11-28 00:00:00 | 25 2020-11-29 00:00:00 | 25 2020-11-30 00:00:00 | 25 2020-12-01 00:00:00 | 25 2020-12-02 00:00:00 | 25 2020-12-03 00:00:00 | 25 2020-12-04 00:00:00 | 25 2020-12-05 00:00:00 | 25 2020-12-06 00:00:00 | 25 2020-12-07 00:00:00 | 25 2020-12-08 00:00:00 | 25 2020-12-09 00:00:00 | 25 2020-12-10 00:00:00 | 25 2020-12-11 00:00:00 | 26 2020-12-12 00:00:00 | 26