我们有包含日期字段(类型日期)的表,并且在日期字段中插入时间戳在我们的一些oracle环境中工作(我们有多个开发环境)并且在某些环境中失败。
我想知道为什么它在某些情况下有效,有些情况下ORA-01843失败:没有效月
实施例
Table1
date1 DATE
以下sql在某些环境中有效,在某些环境中失败
Insert into Table1 (date1) values ( to_timestamp(sysdate))
Oracle版本 - Oracle Database 11g
我们可以将时间戳插入日期字段(如上所述)吗? oracle是否支持将时间戳值插入日期字段?
提前致谢。
答案 0 :(得分:2)
而不是sysdate
,使用current_timestamp
(虽然它毫无意义,因为无论如何它将成为数据库中的date
):
insert into Table1 (date1) values (current_timestamp)
我猜它失败的原因是to_timestamp
需要varchar
并且转换失败。