sql >> Databasteknik >  >> RDS >> Sqlserver

Hämta alla datum inom datumintervallet i SQL Server

Med lite hjälp av en siffertabell.

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'

Testa SE Data



  1. SQL Server :Infoga lagrade procedurresultat i tabellen baserat på parametrar

  2. jquery datatable serverside i codeigniter fungerar inte

  3. hur man får närmaste värde från databasen i mysql

  4. Hur ska unix-tidsstämplar lagras i int-kolumner?