我在一个含date字段的数据表中输入记录,发现日期字段总是不能填写,报错:
无效的月份打开   显示SQL,后显示:UPDATE "ZZYLCDAT"."TAIZHANG" 
    SET "KRIQI" = TO_DATE('10-10-2010 0:0:0', 'dd-Mon-yyyy 
    HH:MI:SS AM') 
    WHERE  rowid = 'AAAM8eAAEAAAAOMAAA'实际我输入的内容是:10-10-2010 0:0:0这样不对吗?该如何输入?

解决方案 »

  1.   

    你日期格式是美国的.
    所以月份应该是oct,由于是12小时制,小时时间只能取值1-12
      

  2.   

    SQL> SELECT to_date('09-oct-2010 12:0:0',
      2                 'dd-Mon-yyyy HH:MI:SS FM',
      3                 'nls_date_language=AMERICAN')
      4    FROM dual
      5  ;
     
    TO_DATE('09-OCT-201012:0:0','D
    ------------------------------
    2010-10-9 12:00:00
     
    SQL> 
      

  3.   

    你把 TO_DATE('10-10-2010 0:0:0', 'dd-Mon-yyyy   HH:MI:SS AM')   改成 to_char(trunc(TO_DATE('10-10-2010', 'dd-mm-yyyy')),'dd-mm-yyyy hh24:mi:ss')
      

  4.   

    UPDATE "ZZYLCDAT"."TAIZHANG" 
        SET "KRIQI" = TO_DATE('09-oct-2010 12:0:0', 'dd-Mon-yyyy 
        HH:MI:SS AM') 
        WHERE  rowid = 'AAAM8eAAEAAAAOMAAA'还是无效月份
      

  5.   

    UPDATE "ZZYLCDAT"."TAIZHANG"  
      SET "KRIQI" = to_char(trunc(TO_DATE('10-10-2010', 'dd-mm-yyyy')),'dd-mm-yyyy hh24:mi:ss') 
      WHERE rowid = 'AAAM8eAAEAAAAOMAAA'
    无效月份