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

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

 

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

 

结果

 

posted @ 2019-01-24 10:38  杨浪  阅读(1148)  评论(0)    收藏  举报