Oracle数据库查询上一小时、上一天、上一个月、上一年、前几小时、前几天、前几月、前几年
上一小时、上一天、上一个月、上一年
上一小时
代码
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;
结果展示
上一天
代码
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;
结果展示
上一个月
代码
select concat(to_char(add_months(sysdate,-1), 'YYYY-MM-'),'01 00:00:00') start_time,
concat(to_char(last_day(add_months(sysdate,-1)),'YYYY-MM-DD '),' 23:59:59') end_time
from dual;
结果展示
上一个月
代码
select concat(to_char(add_months(sysdate,-1), 'YYYY-MM-'),'01 00:00:00') start_time,
concat(to_char(last_day(add_months(sysdate,-1)),'YYYY-MM-DD '),' 23:59:59') end_time
from dual;
结果展示
上一年
代码
select concat(extract(year from sysdate)-1,'-01-01 00:00:00') start_time,
concat(extract(year from sysdate)-1,'-12-31 23:59:59') end_time
from dual;
结果展示
前几小时、前几天、前几月、前几年
前几小时
代码
------查询前几小时
select concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-几小时),':00:00') start_time,
concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-几小时),':00:00') end_time
from dual;
--示例、查询前五小时到前三小时
select concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-5),':00:00') start_time,
concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-3),':00:00') end_time
from dual;
前几天
代码
------查询前几天
select to_char(sysdate-几天,'yyyy-mm-dd ')||'00:00:00' start_time,
to_char(sysdate-几天,'yyyy-mm-dd ')||'23:59:59' end_time
from dual;
------示例、查询前六天到前三天
select to_char(sysdate-6,'yyyy-mm-dd ')||'00:00:00' start_time,
to_char(sysdate-3,'yyyy-mm-dd ')||'23:59:59' end_time
from dual;
前几月
代码
------查询前几个月
select concat(to_char(add_months(sysdate,-几个月), 'YYYY-MM-'),'01 00:00:00') start_time,
concat(to_char(last_day(add_months(sysdate,-几个月)),'YYYY-MM-DD '),' 23:59:59') end_time
from dual;
------示例、查询前六月到前四月
select concat(to_char(add_months(sysdate,-6), 'YYYY-MM-'),'01 00:00:00') start_time,
concat(to_char(last_day(add_months(sysdate,-4)),'YYYY-MM-DD '),' 23:59:59') end_time
from dual;
前几年
代码
------查询前几年
select concat(extract(year from sysdate)-几年,'-01-01 00:00:00') start_time,
concat(extract(year from sysdate)-几年,'-12-31 23:59:59') end_time
from dual;
------示例、查询前三年到前一年
select concat(extract(year from sysdate)-3,'-01-01 00:00:00') start_time,
concat(extract(year from sysdate)-1,'-12-31 23:59:59') end_time
from dual;