2016-04-27 113 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 ------------------------------------------------------^ 
);