gpt4 book ai didi

postgresql - Postgres Generate_Series 返回错误数量的结果

转载 作者:行者123 更新时间:2023-11-29 14:30:17 24 4
gpt4 key购买 nike

我想使用 Postgres 的 generate_series() 生成一系列时间戳,但它返回了错误数量的结果:

select generate_series(
now() - interval '1 year',
now(),
interval '1 year' / 365
);

我期望有 365 个结果,但它返回了 371 个结果。

结果中的每个间隔都代表不到一天,但我不明白为什么。

2017-10-21 19:21:01.355108
2017-10-22 19:01:17.761508
2017-10-23 18:41:34.167908
2017-10-24 18:21:50.574308
2017-10-25 18:02:06.980708
2017-10-26 17:42:23.387108

最佳答案

间隔“1 年”不等于 365 天,这就是您收到超过 365 行的原因。我假设您希望每天都有从 1 年前到现在的一系列日期戳>

select generate_series(
now() - interval '1 year' ,
now(),
interval '1 day'
);

您将收到 366 行,而不是 365,因为您正好在 1 年前开始,所以它将是 366 个时间戳(前 1 年是系列的开始日期 +365 [或 366,如果年份是闰年] 接下来的几天)

如果您希望它没有第一个时间戳,则将“间隔‘1 天’”添加到第一个参数。

关于postgresql - Postgres Generate_Series 返回错误数量的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52919010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com