亲,您好。oracle日期可以进行加减的
例如:select sysdate,sysdate-1/48 from dual;
sysdate-1/48 就是往前推半个小时
亲的问题可以参考这个写,希望对亲有帮助
如果数据库的列, 是 DATE 类型的话:
WHERE
TO_CHAR( 日期列, 'HH24MI' ) >= '0300'
AND TO_CHAR( 日期列, 'HH24MI' ) <= '0330'
如果是 varchar2 类型的, 就要确定一下, 格式是否都是 固定的格式了。
否则 SUBSTR 计算起来, 也是很麻烦的。
SQL>alter session set nls_date_format='YYYY-MM-DD/HH24:MI:SS';
SQL>select to_char(sysdate,'YYYY-MM-DD/HH24:MI:SS') from dual;
SQL>select TO_DATE( '2013-05-31/01:23:45', 'YYYY-MM-DD/HH24:MI:SS') from dual;
SQL>select count(*) from table_name where create_time between to_date('2013-05-31/03:00:00','YYYY-MM-DD/HH24:MI:SS') and to_date ('2013-05-31/03:30:00','YYYY-MM-DD/HH24:MI:SS');
用between ‘3:00’ and ‘3:30’