to_date的时候前面需要转换的字符串格式需和你指定的格式相对应。
如你指定的是yyyy-mm-dd
那么应该为:to_date('2014-10-01','yyyy-mm-dd')

解决方案 »

  1.   

    to_date的时候前面需要转换的字符串格式需和你指定的格式相对应。
    如你指定的是yyyy-mm-dd
    那么应该为:to_date('2014-10-01','yyyy-mm-dd')
    嗯  找到问题, 那么,我在学  jsp 用的是一个时间插件, 得到的时间 就是Wed Oct 01 00:00:00 CST 2014 这种, java 中的 SimpleDateformat 方法  转换 完全没有效果啊,  
    我的 代码
    enrolltime = new SimpleDateFormat("yyyy-MM-dd").parse(req.getParameter("enrolltime"));
    得到的 结果  和 原来的是一样,只不过 成了时间类型
      

  2.   


    麻烦您 看一下 楼下,知道了原因, 找不到 解决的方法啊SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
    String a1 = req.getParameter("enrolltime");
    enrolltime = dateFormat.parse(a1);
    System.out.println(enrolltime);加入了 local.US   结果还是Tue Oct 07 00:00:00 CST 2014
      

  3.   

    alter session set nls_date_language = 'american';  
    select to_date('Wed Oct 01 00:00:00 CST 2014','Dy MON DD HH24:MI:SS "CST" YYYY') FROM DUAL;
      

  4.   

    这个错误并不一定时格式错误,也有可能是你的表中的数据问题。
    上次我遇到类似错误,格式什么都改了,结果是表中数据有问题,
    出现了一个日期类似是这样2014-21-11,然后我用to_date转化,
    报错。建议检查格式同时,检查下数据,看看是不是也存在错误呢?
      

  5.   

    针对楼主的问题:我觉得是前后格式不对应采用TO_DATE('2009-8-9 08:00:10','YYYY-MM-DD HH24:MI:SS'),可以完美解决这个问题
      

  6.   

    楼主的前后的字符格式不对应,应该保持前后的格式一致,使用TO_DATE('2014-11-22','yyyy-mm-dd hh24:mi:ss'),可以解决楼主出现的问题。