本帖最后由 hwhtj 于 2012-07-13 16:39:43 编辑

解决方案 »

  1.   

    这个问题是你没有将regdate 的类型转换成datetime类型,应该改为:
    SELECT * FROM T WHERE TO_CHAR(TO_DATE(REGEDTA,'yyyy/MM/dd HH24:mi:ss'),'MM')='7'
      

  2.   

    因为转换成24小时制的关系,后面的月份格式是 XXXX/XX/XX(如:2012/07/13),所以上面的应该在月份后面加个0
      

  3.   

    select * from t where to_number(to_char(regedta,'MM'))=7
    或者select * from t where to_number(to_date(regedta,'MM'))=7