要获得上个月的第一个日期(时间00:00:00)和上次日期(时间23:59:59),我尝试了下面的查询,并按预期提供正确的输出。
获取上个月的第一个日期和最后日期的方式是 正确和最佳做法?如果不是善意建议最好的 做法也是如此。
上个月的第一个日期(时间部分:00:00:00):
select TRUNC(ADD_MONTHS(SYSDATE, -1),'MM') from dual ;
上个月的最后日期(时间部分23:59:59):
SELECT last_day(add_months(trunc(sysdate,'mm'),-1)) + INTERVAL '23:59:59' HOUR TO SECOND FROM DUAL;
答案 0 :(得分:1)
--I got the hard way
select '01-'||to_char(last_day(add_months(sysdate,-1)),'MON-YYYY')Firs_day,
last_day(add_months(sysdate,-1))Last_day
from dual;