Oracle日期操作,查询当前时间前30分钟到前90分钟的数据

查询当前时间

1
2
3
4
5
date类型
select sysdate from dual;

char类型
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

获取当前时间年 季 月 周 日

1
2
3
4
5
6
7
8
9
10
11
12
13
14
获取now的年
select to_char(sysdate, 'yyyy' ) from dual;

获取now的季
select to_char(sysdate, 'Q') from dual;

获取now的月
select to_char(sysdate, 'MM' ) from dual;

获取now的周
select to_char(sysdate, 'iw') from dual;

获取now的日
select to_char(sysdate, 'dd' ) from dual;

日期操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
now减去7年
select sysdate,sysdate - interval '7' year from dual;

now减去7月
select sysdate,sysdate - interval '7' month from dual;

now减去7天
select sysdate - interval '7' day from dual;

now减去7小时
select sysdate - interval '7' hour from dual;

now减去7分钟
select sysdate,sysdate - interval '7' MINUTE from dual;

查询前两个小时内容数据

select * from Test where insert_time > SYSDATE - 2/24 AND insert_time <SYSDATE

查询前30分钟到90分钟的数据

select * from Test where LAST_MODIFY_TM BETWEEN SYSDATE - 3/48 AND SYSDATE - 1/48

sysdate+1是加一天
sysdate+/-(1/48)就是加/减 半个小时