今天在 DRM中報錯ora-01830
把sql語句輸出作了以下的實驗,發現是時間多了一個.0
后來的辦法是先把這個時間轉成to_char,再轉成to_date
SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss') from dual;
select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss') from dual
ORA-01830: 日期格式圖片在轉換整個輸入字符串之前結束
SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:sssss') from dual;
select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:sssss') from dual
ORA-01836: 小時與日中的秒發生沖突
SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss.sssss') from dual;
select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss.sssss') from dual
ORA-01836: 小時與日中的秒發生沖突
SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ff') from dual;
select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ff') from dual
ORA-01821: 日期格式無法識別
------------------------------------------------------------------
必須保證傳入的字符串和要轉換的格式精確匹配
SQL> SELECT TO_DATE('11-10-1996-13:51:21','DD/MM/YYYY-HH24') A FROM dual;
ERROR:
ORA-01830: date format picture ends before converting entire input string.
SQL> SELECT TO_DATE('11-10-1996-13:51:21','DD/MM/YYYY-HH24:MI:SS') B FROM dual;
--------------------------------------
以上是轉載的
后來我是這么做的哈:
SELECT中將其他表的日期TO_CHAR下,然后再將值在INSERT時TO_DATE!
具體的做法如下:
SELECT TO_CHAR(parameter,'YYYY-MM-DD HH24:MI:SS') AS TIME
FROM TABLE_NAME_1;
...
...
INSERT INTO TABLE_NAME_2
(COLUME_NAME_1)
VALUE (TO_DATE('"+TIME+"','YYYY-MM-DD HH24:MI:SS'));
然后就OK了,呵呵,看來要學的還真多!
posted on 2006-08-10 21:03
Lansing 閱讀(6145)
評論(2) 編輯 收藏 所屬分類:
學習 、
個人日志 、
Oracle 10g 、
Java