从日期范围为每个月创建多行

问题描述

源有如下数据 第一列|列2|第3列|第4列|第5列|开始日期|结束日期

A |乙| A|乙| A| 1/1/2021| 2021/4/1|

是否可以在netizza中使用query获取如下数据

第 1 列|列2|第3列|第4列|第5列|月

A|乙 |一个 |乙 |一个 | 1 月 21 日 1 月 1 日

A|乙 |一个 |乙 |一个 | 2 月 1 日至 21 日

A|乙 |一个 |乙 |一个 | 21 年 3 月 1 日

A|乙 |一个 |乙 |一个 | 1-4-21

解决方法

当然,您需要一个时间维度并对其进行“连接之间”:

Create temp table TimeDim as
Select ‘2010-01-01’::date+((datasliceid-1) || ‘ months’)::interval as FirstDayOfMonth
From _v_dual_dslice
;

然后是连接间:

Select * from YourTable join TimeDim
On FirstDayOfMonth between Start_date and End_Date
;

你能跟上吗?

拉斯

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...