首页 > 数据库 > mysql教程 > 如何在不使用generate_series()的情况下在Amazon Redshift中生成日期系列?

如何在不使用generate_series()的情况下在Amazon Redshift中生成日期系列?

Patricia Arquette
发布: 2024-12-26 14:55:09
原创
409 人浏览过

How to Generate Date Series in Amazon Redshift Without generate_series()?

在 Redshift 中生成系列

Amazon Redshift 基于旧版本的 PostgreSQL (8.0.2),缺乏对generate_series( ) 处理时间戳时的函数。尝试将函数与日期一起使用,例如:

select * from generate_series(date('2008-10-01'),date('2008-10-10 00:00:00'),1)
登录后复制

将导致错误。

解决方法

尽管缺乏直接支持带有时间戳的generate_series(),有一些解决方法:

1.当前日期算术:

SELECT current_date + (n || ' days')::interval
from generate_series (1, 30) n
登录后复制

此方法适用于 PostgreSQL 8.3 及更高版本,使用简单的日期算术生成一系列日期。

2.整数表:

创建可用于日期算术的整数表:

create table integers (
  n integer primary key
);
登录后复制

填充表并将其用于日期计算:

select (current_date + n)
from integers
where n < 31;
登录后复制

注意:Redshift 不支持间隔数据类型,因此上述解决方法可能无法在所有情况下都可用。

以上是如何在不使用generate_series()的情况下在Amazon Redshift中生成日期系列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板