Select * From Table1 Where
 Date1>to_date('yyyymmdd hh24miss','20040701 00:00:00') and
 Date1<to_date('yyyymmdd hh24miss','20040801 00:00:00');

解决方案 »

  1.   

    或者这么写:
    Select * From Table1 Where 
     extract(year from date1)=2004 and extract(month from date1)=7
      

  2.   

    可以这样写吗?
    SELECT * FROM TABLE1 
      WHERE TO_CHAR(DATE1,'YYYYMM')='200407'
    我试过可以的。
    但是这样最好建立索引,关于TO_CHAR(DATE1,'YYYYMM')
      

  3.   


    Select * From Table1
    Where Substr(tochar(Table1.Date1,'yyyy/mm/dd HH24:mi:s'),1,6) = '2004/07'
      

  4.   

    对时间日期来说是要先进行转换的,数据库里的日期存放格式是不一定的(可改)!
    版主的substr用法没有错!只是要先进行日期转换!
      

  5.   

    先转换成你想要的格式的字符,然后再截取字符的部分字符
    select * from table where substr(to_char(table1.date,'yyyymmdd'),1,6)='200407'
      

  6.   

    to_char(Date1,'yyyy')='2004' and to_char(Date1,'MM')='07'我一般都是这么写的
      

  7.   

    一般来说,日期比较最好不要用两个字符比较。应该转换成日期再比较。
    要将日期限定在7月份,可以用
    trunc(Date1) <=to_date('31/07/2004','dd/mm/yyyy')
    AND
    trunc(Date1) >=to_date('01/07/2004','dd/mm/yyyy')