SQL Server获取时间段内的所有月份

SQL Server获取时间段内的所有月份

例如查询 2012-1-5 到 2012-11-3 之间所有的月份

  •  
  • SQL 代码   复制
  • 
    declare @begin datetime,@end datetime
    set @begin='2012-1-5'
    set @end='2012-11-3'
    
    declare @months int
    set @months=DATEDIFF(month,@begin,@end)
    select convert(varchar(7),DATEADD(month,number,@begin) ,120) AS 月份
    from master.dbo.spt_values 
    where type='p' AND number<=@months
    
    		
  • 查询结果

    标签: