PieCloudDB数据库有没有办法根据开始时间和结束时间(以天为单位)将一条数据分成多条数据。例如:
ID | 价值 | 开始日期 | 结束日期 |
---|---|---|---|
1 | ABC | 2024-01-29 | 2024-02-01 |
2 | XYZ | 2024-02-28 | 2024-03-01 |
输出:
ID | 价值 | 分割日期 |
---|---|---|
1 | ABC | 2024-01-29 |
1 | ABC | 2024-01-30 |
1 | ABC | 2024-01-31 |
1 | ABC | 2024-02-01 |
2 | XYZ | 2024-02-28 |
2 | XYZ | 2024-02-29 |
2 | XYZ | 2024-03-01 |
如果您不了解 PieCloudDB,可以使用 PostgreSQL 作为测试数据库。
尝试在 PieCloudDB 数据库中创建一个
FUNCTION
,然后调用它(在 PostgreSQL 中测试):您可以使用横向子查询为每行生成一组数据。这是示例查询;
<<小提琴>>
参与此处的最佳方式
generate_series()
:小提琴
看:
start_date
假设所有相关和的值均有效且非空end_date
。否则你必须做更多的事情。