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

oracle查询间隔时间的记录,该怎么处理

2012-01-15 
oracle查询间隔时间的记录数据库记录是这样子的数据库每天都会插入24条记录(每隔一小时一条)2011-08-27 15

oracle查询间隔时间的记录
数据库记录是这样子的
数据库每天都会插入24条记录(每隔一小时一条)
2011-08-27 15:03
2011-08-27 16:03
2011-08-27 17:03
2011-08-27 18:03

2011-08-28 15:03
2011-08-28 16:03
2011-08-28 17:03
2011-08-28 18:03


我需要查询出过去10天的 所有6点钟的记录 该怎么写sql语句呢,请sql高手帮忙下

[解决办法]
SELECT * FROM table WHERE to_char(日期,'hh24miss')='180000' and to_char(日期,'yyyymmdd') between to_char(sysdate-10,'yyyymmdd') 
and to_char(sysdate,'yyyymmdd'); 

写的一般,但是大概是这个意思,呵呵~~
[解决办法]

探讨

SELECT * FROM table WHERE to_char(日期,'hh24miss')='180000' and to_char(日期,'yyyymmdd') between to_char(sysdate-10,'yyyymmdd')
and to_char(sysdate,'yyyymmdd');

写的一般,但是大概是这个意思,呵呵~~

[解决办法]
用WHERE EXTRACT(HOUR FROM 时间字段)=6 或者楼上的TO_CHAR()感觉EXTRACT效率高点,而且返回是类型是整型,

顺便问下:所有6点钟的记录?下午》?从表达上来说是上午

热点排行