SELECT tab."year"||'年'astext,tab."year"as code FROM(WITH RECURSIVE T ( n )AS(SELECTDATE(now()-INTERVAL'20 YEAR')UNIONALLSELECT n +1FROM T
WHERE n <DATE(now()))SELECT
to_char( n,'yyyy')ASYEARFROM T GROUPBYYEARORDERBYYEARdesc) tab
2、查询结果截图
二、查询某个时间段的周数
1、查询2021-01-01 00:00:00到2021-12-31 23:59:59的周数列表
SELECT tab.times as code,'第'||tab.weeknum||'周'astextFROM(SELECTMIN( times ) times,
CAST ( date_part('week', times )ASVARCHAR) weeknum
FROM(SELECT A
times
FROM
generate_series (( CAST (('2021'||'-01-01 00:00:00')ASTIMESTAMP)),(SELECTCASEWHEN'2022'=to_char(now(),'yyyy')THEN
CAST ( to_char(CURRENT_DATE,'yyyy-MM-dd')||' 23:59:59'ASTIMESTAMP)+'10 day'ELSE
CAST ('2021'||'-12-31 23:59:59'ASTIMESTAMP)ENDas b),'1 day')AS A
)AS b
GROUPBY
weeknum
ORDERBY
times ASC) tab