It is not difficult to generate such intervals using recursive query:
declare @number int = 3699
;
with E as
(
select 0 as [start], 0 as [end]
union all
select [end] + 1, iif(@number <= [end] + 1000, @number, [end] + 1000)
from E
where [end] + 1 <= @number
)
select *
from E
where [start] > 0
order by [start]
option (maxrecursion 0)
It depends on how do you want to use these numbers.