SQL计算本月天数、第一天、最后一天函数

最近整理了一下SQL 计算每个月的本月的天数、第一天、最后一天方法。

大家可以通过联机帮助文档学习下 dateadd,datepart,datediff函数。

sql server:

--第一天

select dateadd(dd,-datepart(dd,getdate())+1,getdate())

--最后一天

select dateadd(dd,-datepart(dd,getdate()) ,dateadd(mm,1,getdate()))

--下月第一天

select dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate()))

--本月天数

select datediff(dd,getdate(),dateadd(mm,1,getdate()))

或者

select datediff(dd,dateadd(dd,-datepart(dd,getdate())+1,getdate()), dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate())))

或者

select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime))))

oracle

--本月天数 oracle

select to_number(to_char(last_day(sysdate),'DD')) from dual

 

 

你可能感兴趣的:(sql计算)