14,506 questions
DECLARE @TableTT AS TABLE
(
Id INT ,
StartDate datetime ,
EndDate datetime
)
INSERT INTO @TableTT
( Id, StartDate, EndDate)
VALUES ( 1, N'2023-01-19 15:23:09.960', '2023-05-14 15:23:09.960'),
( 2, N'2021-03-19 15:23:09.960', '2021-08-14 15:23:09.960')
select Id,YEAR(StartDate),MONTH(StartDate)+n-1
from @TableTT
cross apply (values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)) d(n)
where Eomonth(dateadd(month,n-1,StartDate))<=Eomonth(EndDate)