1.查询上一年
1.1 查询上一年(带时间点)
SELECT concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-1),':00:00') start_time,concat(to_char(sysdate,'yyyy-mm-dd hh24'),':00:00') end_time FROM dual
结果:
1.2 查询上一年(不带时间点)
SELECT to_char(ADD_MONTHS (SYSDATE, -12),'yyyy-mm-dd') FROM DUAL
2.查询前一个月
2.1查询前一个月(带时间点)
select concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-'),'01 00:00:00')start_time,concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-')||to_char(LAST_DAY(sysdate),'dd '),'23:59:59') end_time from dual
结果:
2.1查询前一个月(不带时间点)
SELECT to_char(ADD_MONTHS (to_date('2023-01-03','yyyy-mm-dd'), -1), 'yyyy-mm-dd') FROM SYS.DUAL
SELECT to_char(ADD_MONTHS (SYSDATE, -1), 'yyyy-mm-dd') FROM DUAL
3.查询前一天
3.1查询前一天(带时间点)
select to_char(sysdate-1,'yyyy-mm-dd ')||'00:00:00' start_time,to_char(sysdate-1,'yyyy-mm-dd ')||'23:59:59' end_time FROM dual
结果:
3.2查询前一天(不带时间点,支持跨年)
SELECT to_char(sysdate-1,'yyyy-mm-dd') FROM dual
SELECT to_char(TO_DATE('2023-01-01','yyyy-mm-dd')-1,'yyyy-mm-dd') FROM dual