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点钟的记录?下午》?从表达上来说是上午