现在我的oracle语句,已经有
 (MOD(ROUND(TO_NUMBER(TO_DATE('" + p.endTime + "','YYYY-MM-DD HH24:MI:SS')-TO_DATE('" + p.startTime +"','YYYY-MM-DD HH24:MI:SS'))*24*60*60),300)=0)
是一个条件
 
我要取得符合条件的时间在两个时间内的数目,应该使用的函数如何写。

解决方案 »

  1.   

    SELECT TO_DATE('2010-05-15 13:25:00', 'YYYY-MM-DD HH24:MI:SS') + (LEVEL - 1) * 1 / 288
      FROM dual
    CONNECT BY LEVEL <= (TO_DATE('2010-05-15 17:00:00', 'YYYY-MM-DD HH24:MI:SS') -
               TO_DATE('2010-05-15 13:25:00', 'YYYY-MM-DD HH24:MI:SS')) / (5 / 1440) + 1
      

  2.   

    3楼已经把时间显示了,还有我要实现数据的取出
    形式如下:
       时间                           总流量
    2009-10-19 12:45:00              700M
    2009-10-19 12:50:00               45M
    2009-10-19 12:55:00              80M
       时间是按照5分种取出的
       单个的流量:select flow from table
      如何把总流量能跟时间一起取出,上头的形式。
      

  3.   

    3楼兄, 怎么我用你的方法,才显示出来9个数据?还有
    我使用String sql ="SELECT TO_DATE('2010-05-15 13:25:00', 'YYYY-MM-DD HH24:MI:SS') + (LEVEL - 1) * 1 / 288
      FROM dual
    CONNECT BY LEVEL <= (TO_DATE('2010-05-15 17:00:00', 'YYYY-MM-DD HH24:MI:SS') -
               TO_DATE('2010-05-15 13:25:00', 'YYYY-MM-DD HH24:MI:SS')) / (5 / 1440) + 1"
    怎么出来错误:String literal is not properly closed by a double-quote
      

  4.   

    3楼兄, 怎么我用你的方法,才显示出来9个数据?sql语句必须是在一行,晕死了!
      

  5.   

    我现在是根据选取的时间来进行数据的查询,记为 p_starttime p_endtime
    表DATE_INFO  结构   ID,  LINK_ID,  period,   begin_time ,  end_time.
    然后到另一个表 LINK_INFO 里头去取数据,
       结构为LINK_ID,FLOW_IN,FLOW_OUT
    现在我根据时间来去flow_in 和flow_out. 输出的时候使用我在四楼的写法。
    形式如下:
    SQL code
       时间                           总流量
    2009-10-19 12:45:00              700M
    2009-10-19 12:50:00               45M
    2009-10-19 12:55:00              80M
      时间是按照5分种取出的,左边列出时间,右边是这段时间内输出的总流量。
      如何把总流量能跟时间一起取出,上头的形式。
      

  6.   

    select  distinct t.record_time  from application_traffic_30sec t 
    where MOD(ROUND(TO_NUMBER(t.record_time-to_date('2010-5-19 10:59:55','yyyy-mm-dd hh24:mi:ss'))*24*60*60),300)=0  order by record_time asc
    居然是表的名字弄错了!。晕了!