---上年末
select substr(to_char(
add_years(to_date('20200602','YYYYMMDD'),-1),'YYYYMMDD'
),1,4)||'1231'
from sysibm.dual
---上月末
select to_char(last_day
(add_months(to_date('20200602','YYYYMMDD'),-1)
),'YYYYMMDD' )
from sysibm.dual
---上年同期
select to_char(
add_months(to_date('20200602','YYYYMMDD'),-12)
,'YYYYMMDD' )
from sysibm.dual
oracle用dual
---取'20210321'日期所有季度的第一天
to_char(trunc(to_date('20210321','yyyymmdd'),'Q'),'yyyymmdd')=20210101
---取'20210421'日期上季度的最后一天(季末日期)
to_char(trunc(to_date('20210421','yyyymmdd'),'Q')-1,'yyyymmdd')=20210331
2021-07-03