oracle 如何将多个时间段拆分成多条数据

select entityuuid,topicname,fstart,ffinish,joinorguuid,fstart+rownum-1 from
(select s.entityuuid,b.topicname,b.fstart,b.ffinish,e.joinorguuid
from h5csingleproduct s, h5cpromotionbill b, h5cpromotionitem t,H5CPromotionbillJoin e
where s.itemuuid = t.uuid and t.billuuid = b.uuid and e.billuuid=t.billuuid
 and b.state='audited'
 and b.fstart>='2021.1.1' and b.ffinish<'2021.7.1')
 connect by rownum<=ffinish-fstart

执行出来结果如下,红色区域是对的,但是从蓝色区域开始结束日期就错了,要怎么解决?

img

1

再套一层进行where判断