insert into test (id, create_date) values (1, to_date('yyyy-mm-dd','01-MAY-1988'));

解决方案 »

  1.   

    为什么一定要用to_date这个函数呢?
    10g不是可以直接插入的吗?格式为
    dd-mm-yyyy。
    oraclepressbooks这出版社出版的书上写的。
      

  2.   

    10g没用过,不过MM-DD-YYYY格式也不是'01-MAY-1988'这样的啊,应该是'01-05-1998'
    一下2种方法在10g下肯定是正确的
    一种是to_date(),另一种是 date '1998-05-01'
      

  3.   

    我也遇到过这种问题,在oracle数据库中把原有的日期剪切再粘贴上去都会提示格式错误。
    而且中文版还有很搞笑的地方,就是输入中文但是oracle自己变成英文,晕死。
    其实最简单的解决办法就是不用date数据类型,用字符串型就好,最好再自己解析日期。
      

  4.   

    to_date('yyyy-mm-dd','01-MAY-1988')---->
    to_date('01-MAY-1988','dd-mm-yyyy')
      

  5.   

    9i 下可以:select to_date('01-MAY-1988','dd-mm-yyyy') from dual
    >1988/05/01
      

  6.   

    前面我说的那本书写到,
    10g的date类型为dd-mm-yyyy,mm可以直接输入英文月份的前三个字母,
    date '1998-05-01'这种方式肯定可以。