Java oracle11中的时间戳问题
我在oracle中有一个表,我正在尝试向其中加载一个.CSV文件 下面是表模式Java oracle11中的时间戳问题,java,oracle,timestamp,Java,Oracle,Timestamp,我在oracle中有一个表,我正在尝试向其中加载一个.CSV文件 下面是表模式 CREATE TABLE Table_test ( ID VARCHAR2(1000 BYTE), Code VARCHAR2(1000 BYTE), XST_TYM TIMESTAMP (6), PRD_TYM TIMESTAMP (6), Code_done VARCHAR2(1000 BYTE) )
CREATE TABLE Table_test
(
ID VARCHAR2(1000 BYTE),
Code VARCHAR2(1000 BYTE),
XST_TYM TIMESTAMP (6),
PRD_TYM TIMESTAMP (6),
Code_done VARCHAR2(1000 BYTE)
)
下面是我试图通过文件插入的时间戳
01:19.0
11:12.0
我收到一个错误“java.sql.SQLException:ORA-01843:不是有效月份”根据我对时间戳的理解,它同时包含日期和时间。时间戳包含日期和时间。Oracle没有
时间
数据类型。如果要存储时间间隔,可能需要使用时间间隔日到秒(6)
。或者您可能希望将时间存储为VARCHAR2
(如果要从另一个值中减去一个值以获得间隔,则操作时间会很麻烦。千万不要将日期或时间值存储为字符串。这总是会产生问题。@Wernfried-将日期存储为varchar2
没有意义,因为有一个正确的日期
数据类型。如果确实需要的话存储时间而不是间隔,使用varchar2
可能是有意义的,因为假设您没有根据存储的时间进行计算,则不存在time
数据类型。使用date
可能有意义,其中日期总是设置为某个固定值,但这会产生自己的问题集s、 @JustinCave:我不同意你的看法。如果你真的只需要一个没有日期信息的时间,我宁愿使用一个数字,即从午夜开始的小时/分钟/秒数(取决于你的需要)。