我有一个时间序列数据表,其中的序列有一些间隔。下面是一个数据示例:
| 日期|数值|
| - -|- -|
| 2022年11月17日|一个|
| 2022年11月14日|2个|
我想在现有行(2022-11-15、2022-11-16)之间插入日期行,这些行的值为插入日期(2022-11-14行)之前的最新日期。
我开始在我的应用程序编程语言中使用命令式解决方案,但我确信在SQL中一定有一种方法可以做到这一点。
我有一个时间序列数据表,其中的序列有一些间隔。下面是一个数据示例:
| 日期|数值|
| - -|- -|
| 2022年11月17日|一个|
| 2022年11月14日|2个|
我想在现有行(2022-11-15、2022-11-16)之间插入日期行,这些行的值为插入日期(2022-11-14行)之前的最新日期。
我开始在我的应用程序编程语言中使用命令式解决方案,但我确信在SQL中一定有一种方法可以做到这一点。
1条答案
按热度按时间vatpfxk51#
demo:db<>fiddle
1.使用
generate_series()
生成日期序列1.日期系列的开始是行日期值的下一天
1.日期序列的结束日期是下一行日期值的前一天。
1.使用函数生成的日期和新生成行的实际行值。
1.最后将它们插入到表中。