首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

查询满足两个时间段的oracle语句解决方案

2012-01-01 
查询满足两个时间段的oracle语句我现在想查出在 2007-10-09 16:05:04 时间段 正负5秒的记录 (2007-10-0

查询满足两个时间段的oracle语句
我现在想查出在 '2007-10-09 16:05:04' 时间段 正负5秒的记录 ('2007-10-09 16:05:04' 是个字符串)
select * from kd_mail where senddate between and TO_CHAR(add_seconds(to_date('2007-10-09 16:05:04','yyyy-mm-dd hh24:mi:ss'),5 ) )

我上面的语句 包错 add_seconds 高手帮下,分肯定加
只要实现功能不一定用上面的sql语句

[解决办法]
不知这位XD说的add_seconds函数我在Oracle里怎么没见到过呢 ...

select * 
from kd_mail 
where senddate 
between to_date('2007-10-09 16:05:04 ', 'yyyy-mm-dd hh24:mi:ss') - interval '5' second
and to_date('2007-10-09 16:05:04 ', 'yyyy-mm-dd hh24:mi:ss') + interval '5' second;


[解决办法]
select to_date( '2007-10-09 16:05:04 ', 'yyyy-mm-dd hh24:mi:ss ') +1/24*1/3600*5 from dual;

+1是加一天,1/24*1/3600这个就是加1秒了。
[解决办法]
select to_date('2007-10-09 16:05:04','yyyy-mm-dd hh24:mi:ss')+1 加一天
select to_date('2007-10-09 16:05:04','yyyy-mm-dd hh24:mi:ss')+1/24 加1小时
select to_date('2007-10-09 16:05:04','yyyy-mm-dd hh24:mi:ss')+1/(24*60) 加1分钟
select to_date('2007-10-09 16:05:04','yyyy-mm-dd hh24:mi:ss')+1/(24*60*60) 加1秒钟
类推至毫秒0.001秒
[解决办法]

SQL code
select * from kd_mail where senddate between  TO_CHAR( to_date('2007-10-11 12:10:10','YYYY-MM-DD HH24:MI:SS')+numtodsinterval(-5,'second'),'YYYY-MM-DD HH24:MI:SS' ) AND TO_CHAR( to_date('2007-10-11 12:10:10','YYYY-MM-DD HH24:MI:SS')+numtodsinterval(5,'second'),'YYYY-MM-DD HH24:MI:SS' ) 

热点排行