【SQL】当前月第一天和最后一天

 

--函数返回两个日期之间的时间。   参数m是月 d是天  DATEDIFF(datepart,startdate,enddate)
--0代表日期的起始位置 1900-1-1日
select DATEDIFF(m,0,getdate())  --1458个月   --参考d的效果:select DATEDIFF(d,'1900-01-01','2021-07-07')

--day() 函数,获取当前时间的天数
select -day(getdate())

--sqlserver时间的起始值就是 1900-01-01 00:00:00
select CONVERT(datetime,0)


--获取当月最后一天(下个月第一天时间毫秒-3  就是当前月的最后一天)
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

--当前月第一天 DATEADD(daprt参数,number是希望加的间隔数,date是一个日期)
select DATEADD(MM,DATEDIFF(MM,0,GETDATE()),0) 


--获取当前时间上一个月第一天
select DATEADD(mm, DATEDIFF(m,0,getdate())-1, 0)

--获取当前时间上一个月的最后一天
select dateadd(ms,-3,DATEADD(MM,DATEDIFF(MM,0,GETDATE()),0))

--获取当前月的下一个月第一天
select DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)

--获取当前时间下个月最后一天
SELECT dateadd(month,1,dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)))

 

 

更多日期应用:https://www.cnblogs.com/zhangpengnike/p/6122588.html

posted @ 2021-07-07 15:58  狼窝窝  阅读(2665)  评论(0)    收藏  举报