你是什么数据库?oracel吗
select
t.rq,
to_char(to_date(replace(replace(replace(t.rq,'年','-'),'月','-'),'日',''),'yyyy-mm-dd'),'yyyymmdd') as 替换后
from
(
select '2022年11月2日' as rq from dual
union all
select '2022年3月7日' as rq from dual
) t

你的语句最后改成类似这样:
a.zdate=to_char(to_date(replace(replace(replace(b.rq,'年','-'),'月','-'),'日',''),'yyyy-mm-dd'),'yyyymmdd')