sql >> データベース >  >> RDS >> Sqlserver

SQL Server の日付範囲内のすべての日付を取得する

    数表の助けを借りて.

    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'
    

    SE データ を試す



    1. SQLServer2008およびHashBytes

    2. MySQL外部キーエラー1005errno150外部キーとしての主キー

    3. 数字からのMySQLMONTHNAME()

    4. Oracle Query:カンマ区切りの値を持つ異なるテーブルの2つの列を比較する方法