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

如题所述

--上一个月的最后一天 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;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-31
select convert(varchar(8),dateadd(mm,-1,getdate()),120) + '01' 上个月的第一天,
convert(varchar(10),cast(convert(varchar(8),getdate(),120) + '01' as datetime) - 1,120) 上个月的最后一天
第2个回答  推荐于2017-09-19
--上个月第一天

SELECT CONVERT(datetime,CONVERT(char(8),GetDate(),120)+'1')
--上个月最后一天
SELECT DATEADD(Day,-1,CONVERT(char(8),GetDate(),120)+'1')本回答被提问者和网友采纳