在我的表中有一个字段存储的是datetime格式“yyyy-mm-dd hh24:mi:ss”。
我想获得10月1号到10月31号之间 早上6点到早上9点之间的数据。 这是刚才的问题~~ 
首先谢谢 各位大虾帮我~ 
又有点问题
 如果想要提取 6点30到9点之间的数据如何写啊~~

解决方案 »

  1.   

    你原来的datetime是什么类型的? varchar2还是date?
      

  2.   

    select * from your_table  
    where (to_number(to_char(your_date_column,'hh24mi')) between 630 and 900)
    and (your_date_column between to_date('20101001','yyyymmdd') and to_date('20101031','yyyymmdd'))
      

  3.   

    select * from tb where to_char(时间字段,'YYYY-MM') between '2010-10' and to_char(时间字段,'HH:MI:SS') between '0630' and '0900'
      

  4.   

    select * from tablename 
    where to_char(col,'yyyymmdd') between 20101001 and 20101031 
    and to_char(col,'hh24mi') between 630 and 900
      

  5.   

    楼主看下  to_char  和yyyy-mm-dd hh24:mi:ss分别对应的含义 就会了
      

  6.   

    BEGIN 
    FOR DATE1 IN 20101001 .. 20101031 LOOP
    SELECT *
    FROM TABLE_NAME
    WHERE COL1 BETWEEN  TO_DATE(DATE1||'055959','YYYYMMDDHH24MISS') AND TO_DATE(DATE1||'085959','YYYYMMDDHH24MISS');
    END LOOP;
    END;
      

  7.   

    BEGIN 
    FOR DATE1 IN 20101001 .. 20101031 LOOP
    SELECT *
    FROM TABLE_NAME
    WHERE COL1 BETWEEN  TO_DATE(DATE1||'055959','YYYYMMDDHH24MISS') AND TO_DATE(DATE1||'085959','YYYYMMDDHH24MISS');
    END LOOP;
    END;
      

  8.   

    datetime 是mssql的 写错了吧 date类型的
    (to_char(dt,'yyyy-mm-dd') between '2010-10-01' and '2010-10-31') 
    and to_char(dt,'hh24:mi') between '06:30' and '09:00'