读书人

SQL 时间查询的有关问题

发布时间: 2012-07-02 17:46:22 作者: rapoo

SQL 时间查询的问题
输入一个时间段 如: 2012-04 ----2012-09
如何能得到以下的效果呢

2012-04
2012-05
2012-06
......
2012-09



[解决办法]

SQL code
declare @Start varchar(10)declare @End varchar(10)set @Start='2012-04'set @End='2013-09'--实现跨年:select     convert(varchar(7),DATEADD(MM,number,cast(@Start+'-01' as date)),120) as Year_Monthfrom     master..spt_valueswhere     number between 0     and DATEDIFF(MM,cast(@Start+'-01' as date),cast(@End+'-01' as date))    and type='p'/*Year_Month------------------2012-042012-052012-062012-072012-082012-092012-102012-112012-122013-012013-022013-032013-042013-052013-062013-072013-082013-09*/ 

读书人网 >SQL Server

热点推荐