我需要一个选择来返回月份和年份在指定的日期范围内我将输入开始年份和月份,而选择将返回从我输入的日期到今天的月份和年份.
我知道我可以循环执行此操作,但我想知道是否可以在一系列选择中执行此操作?
- 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