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

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

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

  1. Year Month
  2. ---- -----
  3. 2010 1
  4. 2010 2
  5. 2010 3
  6. 2010 4
  7. 2010 5
  8. 2010 6
  9. 2010 7

等等.

解决方法

  1. declare @date1 datetime,@date2 datetime,@date datetime,@month integer,@nm_bulan varchar(20)
  2.  
  3. create table #month_tmp
  4. ( bulan integer null,keterangan varchar(20) null )
  5.  
  6. select @date1 = '2000-01-01',@date2 = '2000-12-31'
  7.  
  8. select @month = month(@date1)
  9.  
  10. while (@month < 13)
  11. Begin
  12. IF @month = 1
  13. Begin
  14. SELECT @date = CAST( CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,@date1))-1),DATEADD(mm,@date1)),111) + ' 00:00:00' as DATETIME )
  15. End
  16. ELSE
  17. Begin
  18. SELECT @date = CAST( CONVERT(VARCHAR(25),@month -1,111) + ' 00:00:00' as DATETIME )
  19. End
  20. select @nm_bulan = DATENAME(MM,@date)
  21.  
  22. insert into #month_tmp
  23. select @month as nilai,@nm_bulan as nama
  24.  
  25. select @month = @month + 1
  26. End
  27.  
  28. select * from #month_tmp
  29. drop table #month_tmp
  30. go

猜你在找的MsSQL相关文章