I have a table that consists of start and end dates and I need to need split records into day-wise and this needs to go in a View.
| PersonID | CompanyID | Start_DT | End_DT |
|-----------|--------------|-------------|-----------|
| A12 | abc | 05-01-2020 | 05-03-2020|
| B23 | def | 06-08-2020 | 06-14-2020|
| PersonID | CompanyID | New_DT |
|-----------|--------------|-------------|
| A12 | abc | 05-01-2020 | ==> A12 Start Date is 05-01-2020 and End Date is 05-03-2020. So there are 3 records generated in New_DT
| A12 | abc | 05-02-2020 |
| A12 | abc | 05-03-2020 |
| B23 | def | 06-08-2020 |
| B23 | def | 06-09-2020 |
| B23 | def | 06-10-2020 |
| B23 | def | 06-11-2020 |
| B23 | def | 06-12-2020 |
| B23 | def | 06-13-2020 |
| B23 | def | 06-14-2020 |
How can I achieve this in View?
You can use a recursive CTE:
If you have a period of more than 100 days, then you need to add
option (maxrecursion 0)
.Here is a db<>fiddle.