首页 > 解决方案 > 从没有年份表的范围中选择所有年份

问题描述

我选择了当前年份

SELECT EXTRACT(YEAR FROM NOW()) as value

我想打印从 1990 年到当前年份的所有年份的列表,而不必创建年份列表的表格,有没有办法做到这一点,或者我必须创建一个表格来做到这一点?

标签: sqlpostgresqldateselectrecursive-query

解决方案


您可以为此使用递归查询:

with recursive cte as (
    select 1990 dt
    union all select dt + 1 from cte where dt < extract(year from now())
)
select dt from cte order by dt

推荐阅读