select rownum,nt_date,case when dd=7 then '星期日' else '星期六' end holiddate from(
select to_date('2021-01-01','yyyy-mm-dd')+rownum nt_date,to_char(to_date('2021-01-01','yyyy-mm-dd')+rownum,'D') dd from dual
connect by to_char(to_date('2021-01-01','yyyy-mm-dd')+rownum,'YYYY')='2021'
) where dd=1 or dd=7