sql - 如何获取从今天到一月的月份列表?

标签 sql postgresql

我试图用这段代码生成从今天到一月的月份列表

select now() - (interval '1' month * generate_series(0,7))

我需要设置列号,如果今天是 11 月,我如何在不设置列号的情况下获取月份的所有列表?

最佳答案

我想你想要:

select *
from generate_series(date_trunc('year', now()), date_trunc('month', now()),
                     interval '1 month') g(mon);

如果您希望从今天开始的所有日子倒退:

select *
from generate_series(now(), date_trunc('year', now()),
                     interval '-1 month') g(mon);

但是,您必须考虑如果今天是 8 月 31 日,而月份是 2 月,您想做什么。

关于sql - 如何获取从今天到一月的月份列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45754656/

相关文章:

java - 使用jdbc计算sql表的行数

sql - 在 SQL Azure 上创建数据库图表的工具

ruby-on-rails - Postgres 到 ActiveRecord 查询以进行自定义验证

database - EAV - Hybrid 是一个糟糕的数据库设计选择

c# - linq 和并行性 - SQL Server

sql - 在 SQL SELECT 语句中重用别名字段

sql - 在存储过程中执行将获得存储过程的好处

sql - sql原因计算时间差

java - 使用 Hibernate 从数据库中保存/恢复数据 (postgresql)

sql - JOIN on DATEPART 月份和年份会导致额外的行