加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:27:08 所属栏目:MsSql教程 来源:网络整理
导读:我需要一个选择来返回月份和年份在指定的日期范围内我将输入开始年份和月份,而选择将返回从我输入的日期到今天的月份和年份. 我知道我可以循环执行此操作,但我想知道是否可以在一系列选择中执行此操作? Year Month---- -----2010 12010 22010 32010 42010 52
我需要一个选择来返回月份和年份在指定的日期范围内我将输入开始年份和月份,而选择将返回从我输入的日期到今天的月份和年份.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读