generate_series函数

generate_series函数

按不同的规则产生一系列的填充数据

语法:

 实例:

1. 不写步长时默认为1

select generate_series(1, 10);

 

2. 设置步长

select generate_series(1, 10, 3);

 

3. 时间类型(按天):select generate_series(now(), now() + '7 days', '1 day');

 

4. 时间类型(按周):select generate_series(now(), now() + '30 days', '1 week');

 

5. 时间类型(按小时):select generate_series(to_date('20200229','yyyymmdd'), to_date('20200302','yyyymmdd'), '8 hours');

 

 

 

 

 

 SELECT generate_series(timestamp '2020-02-10','2020-12-31','1 week') AS week; 

 

备注:1. 如果step 是正数,start 大于stop,那么返回零行;

   2. 如果step 是负数,start 小于stop,那么返回零行;

   3. 如果是NULL 输入,也产生零;

   4. step 为零则是一个错误,报错信息:“ERROR: step size cannot equal zero”

 

posted @ 2020-03-02 18:01  Surena  阅读(1258)  评论(0)    收藏  举报