2016-04-27 148 views
0

我試圖將行插入到以下Oracle數據庫插入時間戳,但我得到的錯誤 [22008][1830] ORA-01830: date format picture ends before converting entire input string在甲骨文

insert into tbl (coldate, start, end) 
values (
TO_DATE('2005-03-04 02:04:30', 'YYYY-MM-DD HH24:MI:SS'), 
TO_TIMESTAMP('2005-03-23 09:06:51.055000', 'YYYY-MM-DD HH24:MI:SS'), 
TO_TIMESTAMP('2005-04-26 23:32:59.430000', 'YYYY-MM-DD HH24:MI:SS') 
); 

回答

1

錯誤消息告訴你,你應該做的:你的格式掩碼是太「短「爲你提供的價值。您需要包括在格式掩碼小數秒to_timestamp()

TO_TIMESTAMP('2005-03-23 09:06:51.055000', 'YYYY-MM-DD HH24:MI:SS.FF6')

有關在to_timestamp()使用,請參閱本手冊的格式模型的更多細節:

https://docs.oracle.com/database/121/SQLRF/sql_elements004.htm#CDEHIFJA

1

你缺少小數第二規格格式字符串:

insert into tbl (coldate, start, end) 
values (
TO_DATE('2005-03-04 02:04:30', 'YYYY-MM-DD HH24:MI:SS'), 
TO_TIMESTAMP('2005-03-23 09:06:51.055000', 'YYYY-MM-DD HH24:MI:SS.FF'), 
-- Here ----------------------------------------------------------^ 
TO_TIMESTAMP('2005-04-26 23:32:59.430000', 'YYYY-MM-DD HH24:MI:SS.FF') 
-- And here ------------------------------------------------------^ 
);