`
oraclestudy
  • 浏览: 481516 次
文章分类
社区版块
存档分类

SQLServer 获取当前月份的总天数 逐过程 一看就明白

 
阅读更多

--查询当前月份的天数
--思路当前月份+1,就是下个月,然后用下个月的1号减一,就得到当前月份的最后一天,这样就知道当前月份有多少天了
--用到的函数 getdate()当前的日期 dateadd() 在年月日中进行加减操作 year()日期中的年部分 month()日期中的月部分 datepart()取出日期中的某部分
--第一步将当前期日的月部分加一
select dateadd(mm,1,getdate())
--第二步获取加一后的日期的年和月
select 年=year(dateadd(mm,1,getdate())),月=month(dateadd(mm,1,getdate()))
--第三步拼接成当前月的下一个月的1号
select convert(varchar(4),year(dateadd(mm,1,getdate())))+'-'+convert(varchar(2),month(dateadd(mm,1,getdate())))+'-01'
--第四步转成日期类型的
select 当前月的下一个月的1号=convert(datetime,convert(varchar(4),year(dateadd(mm,1,getdate())))+'-'+convert(varchar(2),month(dateadd(mm,1,getdate())))+'-01')
--第五步把上面得到的日期减一天得到当前月的最后一天
select 当前月的最后一天=dateadd(dd,-1,convert(datetime,convert(varchar(4),year(dateadd(mm,1,getdate())))+'-'+convert(varchar(2),month(dateadd(mm,1,getdate())))+'-01'))
--最后一步拿到天数
select 当前月份总天数=datepart(dd,dateadd(dd,-1,convert(datetime,convert(varchar(4),year(dateadd(mm,1,getdate())))+'-'+convert(varchar(2),month(dateadd(mm,1,getdate())))+'-01')))

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics