Я выбрал текущий год с
SELECT EXTRACT(YEAR FROM NOW()) as value
Я хочу напечатать список всех лет с 1990 по текущий год без необходимости создавать таблицу из списка лет, есть ли способ сделать это, или я должен создать таблицу, чтобы сделать это?
Вы можете использовать рекурсивный запрос для этого:
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
select generate_series(1990, (extract(year from now()))::int) as value;
или
select value from generate_series(1990, (extract(year from now()))::int) as value;