上月、本月、下月,第一天、最后一天
-- 以下都是源自本月第一天
-- dateadd(day,-day(getdate())+1,getdate())
-- 本月第一天日期
-- 当前日期 - 当前日期为多少号 + 1
select
dateadd(day,-day(getdate())+1,getdate()) date1;
/*
说明:
dateadd() 返回时间型值
dateadd(day,-10,getdate()) 当前时间减去10天后的时间
day() 返回整型值
day(getdate()) 返回当前日期为该月的多少号 */
-- 上月第一天
-- 本月第一天 - 一个月
select
dateadd(month,-1,dateadd(day,-day(getdate())+1,getdate())) date1;
-- 下月第一天
-- 本月第一天 + 一个月
select
dateadd(month,1,dateadd(day,-day(getdate())+1,getdate())) date1;
-- 本月最后一天
-- 下月第一天 - 一天
select
dateadd(day,-1,dateadd(month,1,dateadd(day,-day(getdate())+1,getdate()))) date1;
-- 上月最后一天
-- 本月第一天 - 一天
select
dateadd(day,-1,dateadd(month,-1,dateadd(day,-day(getdate())+1,getdate()))) date1;
-- 下月最后一天
-- 下下月第一天 - 一天
select
dateadd(day,-1,dateadd(month,2,dateadd(day,-day(getdate())+1,getdate()))) date1;

浙公网安备 33010602011771号