如何用sql获取上个月的第一天和上个月的最后一天

2024-11-24 22:11:51
推荐回答(3个)
回答1:

--上一个月的最后一天 sysdate为系统当前时间
SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)), 'yyyy-mm-dd') FROM DUAL;
--上一个月的最后一天
SELECT TO_CHAR(TRUNC(ADD_MONTHS(SYSDATE, -1), 'mm'), 'yyyy-mm-dd')
  FROM DUAL;

回答2:

select convert(varchar(8),dateadd(mm,-1,getdate()),120) + '01' 上个月的第一天,
convert(varchar(10),cast(convert(varchar(8),getdate(),120) + '01' as datetime) - 1,120) 上个月的最后一天

回答3:

--上个月第一天

SELECT CONVERT(datetime,CONVERT(char(8),GetDate(),120)+'1')
--上个月最后一天
SELECT DATEADD(Day,-1,CONVERT(char(8),GetDate(),120)+'1')