sql >> Database teknologi >  >> RDS >> Sqlserver

Få alle datoer i datointerval i SQL Server

Med lidt hjælp fra en taltabel.

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'

Prøv SE Data



  1. Hvordan tester man læse/skrive filsystemtilladelser for mappe Oracle?

  2. Skadelige, gennemgående SQL Server-ydeevnemyter

  3. MYSQL PHP Advarsel:mysql_query() forventer, at parameter 1 er streng

  4. Find antallet af TOM- eller NULL-kolonner i en MySQL-tabel