问题:
您需要检索两个指定日期之间的日期列表,包含在内,来自 PostgreSQL 数据库。例如,给定开始日期 2012 年 6 月 29 日和结束日期 2012 年 7 月 3 日,所需的输出将为:
29 June 2012 30 June 2012 1 July 2012 2 July 2012 3 July 2012
解决方案:
在 PostgreSQL 中,您可以使用generate_series()函数高效地生成一定范围内的日期序列。以下查询将提供所需的输出:
select CURRENT_DATE + i from generate_series(date '2012-06-29'- CURRENT_DATE, date '2012-07-03' - CURRENT_DATE ) i
另一种更简洁的语法是:
select i::date from generate_series('2012-06-29', '2012-07-03', '1 day'::interval) i
两个查询都会生成指定的日期范围,您可以调整间隔根据需要参数,根据不同的时间单位(例如小时、周或月)生成范围。
以上是如何在 PostgreSQL 中生成日期范围?的详细内容。更多信息请关注PHP中文网其他相关文章!