--函数返回两个日期之间的时间。 参数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