-- 截止今天00:00
select DATEADD(DAY, 0, DATEDIFF(DAY, 0, GETDATE()))
-- 取现在的日期(精确到毫秒,例如 2021-03-31 10:32:44.857)
select GETDATE()
-- 取今天的日期(yyyy-mm-dd)
select CONVERT(VARCHAR(10),GETDATE(),120)
-- 本月第一天(2021-03-01)
select convert(varchar(10),dateadd(day,-day(getdate())+1,getdate()),120)
--本月最后一天(2021-03-31)
select convert(varchar(10),dateadd(day,-day(getdate())+1,dateadd(month,1,getdate())),120)
--上月第一天(2021-02-01)
select convert(varchar(10),DATEADD(MM,-1,dateadd(day,-day(getdate())+1,getdate())),120)
--上月最后一天(2021-02-28)
select convert(varchar(10),dateadd(day,-day(getdate()) ,getdate()),120)
-- 下月第一天(2021-05-01)
select convert(varchar(10),dateadd(day,-day(getdate())+1,dateadd(month,2,getdate())),120)
-- 下月最后一天
select convert(varchar(10),DATEADD(MM,1,dateadd(day,-day(getdate())+1,dateadd(month,1,getdate()))),120)
--取一个月前的日期
select convert(varchar(10),DATEADD(MM,-1,GETDATE()),120)
DATEADD() 函数用法