sql >> Database >  >> RDS >> Sqlserver

Krijg alle datums in het datumbereik in SQL Server

Met een beetje hulp van een getallentabel.

declare @T table
(
  ID int identity primary key,
  FromDate date,
  ToDate date
)

insert into @T values
('2011-11-10', '2011-11-12'),
('2011-12-12', '2011-12-14')

select row_number() over(order by D.Dates) as SN,
       D.Dates
from @T as T
  inner join master..spt_values as N
    on N.number between 0 and datediff(day, T.FromDate, T.ToDate)
    cross apply (select dateadd(day, N.number, T.FromDate)) as D(Dates)
where N.type ='P'

Probeer SE-gegevens



  1. `VOER ONMIDDELLIJK UIT` Oracle Statement krijgt fout

  2. Hoe de tafel in orakel te laten vallen

  3. hoe tekenreeksen in verschillende kolommen te scheiden?

  4. poortnummer van de mysql-server