You can use recursive subquery factoring:
with rcte (start_date, end_date, daily_rate, entity, one_date) as (
select start_date, end_date, daily_rate, entity, start_date
from your_table
union all
select start_date, end_date, daily_rate, entity, one_date + 1
from rcte
where one_date < end_date
)
select start_date, end_date, daily_rate, entity, one_date
from rcte
order by entity, one_date
The anchor member gets the original table data plus a starting date value equal to the start date. The recursive member then adds one day to that date, until it reaches the end date.
START_DATE |
END_DATE |
DAILY_RATE |
ENTITY |
ONE_DATE |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-07-23 |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-07-24 |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-07-25 |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-07-26 |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-07-27 |
... |
... |
... |
... |
... |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-08-03 |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-08-04 |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-08-05 |
2022-07-23 |
2022-08-06 |
212 |
A |
2022-08-06 |
2022-07-23 |
2022-08-06 |
175 |
B |
2022-07-23 |
2022-07-23 |
2022-08-06 |
175 |
B |
2022-07-24 |
... |
... |
... |
... |
... |
2022-07-23 |
2022-08-06 |
175 |
B |
2022-08-06 |
2022-07-23 |
2022-08-06 |
202 |
C |
2022-07-23 |
2022-07-23 |
2022-08-06 |
202 |
C |
2022-07-24 |
... |
... |
... |
... |
... |
2022-07-23 |
2022-08-06 |
202 |
C |
2022-08-06 |
2022-07-23 |
2022-08-06 |
301 |
D |
2022-07-23 |
2022-07-23 |
2022-08-06 |
301 |
D |
2022-07-24 |
... |
... |
... |
... |
... |
2022-07-23 |
2022-08-06 |
301 |
D |
2022-08-06 |
2022-07-23 |
2022-08-06 |
215 |
E |
2022-07-23 |
2022-07-23 |
2022-08-06 |
215 |
E |
2022-07-24 |
... |
... |
... |
... |
... |
2022-07-23 |
2022-08-06 |
215 |
E |
2022-08-06 |
db<>fiddle
You could also use a hierarchical query, but that gets a bit messy (or at least unintuitive) when dealing with multiple source rows as you have to introduce an indeterminate function call to make it work.