t-sql select在几年内获取所有月份

前端之家收集整理的这篇文章主要介绍了t-sql select在几年内获取所有月份前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一个选择来返回月份和年份在指定的日期范围内我将输入开始年份和月份,而选择将返回从我输入的日期到今天的月份和年份.

我知道我可以循环执行此操作,但我想知道是否可以在一系列选择中执行此操作?

Year  Month
----  -----
2010  1
2010  2
2010  3
2010  4
2010  5
2010  6
2010  7

等等.

解决方法

declare @date1 datetime,@date2 datetime,@date  datetime,@month integer,@nm_bulan varchar(20) 

create table #month_tmp 
    ( bulan integer null,keterangan varchar(20) null ) 

select @date1 = '2000-01-01',@date2 = '2000-12-31' 

select @month = month(@date1) 

while (@month < 13) 
Begin 
    IF @month = 1 
    Begin 
       SELECT @date  = CAST( CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,@date1))-1),DATEADD(mm,@date1)),111) + ' 00:00:00' as DATETIME ) 
    End
    ELSE
    Begin
       SELECT @date  = CAST( CONVERT(VARCHAR(25),@month -1,111) + ' 00:00:00' as DATETIME ) 
    End
    select @nm_bulan = DATENAME(MM,@date)

    insert into #month_tmp
    select @month as nilai,@nm_bulan as nama 

    select @month = @month + 1
End 

select * from #month_tmp 
drop table #month_tmp 
go

猜你在找的MsSQL相关文章