您的位置:首页 > 数据库 > 数据库管理

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

更多 2016/2/29 来源:数据库管理学习浏览量:3114
学习标签: SQL Server
本文导读:在SQL Server项目应用中,有时需要在给定的两个日期内获取所有的日期、月份等信息,然后分别查询出这些月份的数据。下面介绍利用SQL Server中master数据库的spt_values表获取时间段内的所有月份的方法

例如查询 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

 

查询结果

 

收藏
129
很赞
497