我正在使用java代码从文本文件中读取一些数据,以及格式中的日期(30-OCT-2012 12-22-44-991),我想将这些细节存储在Oracle数据库中,但格式相同正如oracle所使用的那样。 我试过To_date但没有用,它给出了错误。 请帮助我。
答案 0 :(得分:1)
在Java中使用SimpleDateFormat将字符串解析为java.util.Date
。然后在其上使用PreparedStatement
和set the date。
答案 1 :(得分:1)
修改强>
您可以使用PreparedStatement
类似已建议的AleksanderBlomskøld,并在Using Oracle to_date function for date string with milliseconds的帮助下使用:
final sql = "INSERT into IFT_VEHICLE_STATUS (LATITUDE, LONGITUDE, UPDATED_AT) " +
"VALUES (?, ?, to_timestamp(?, 'DD.MM.YYYY HH24:MI:SS:SSFF3'))";
final PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(1, 81000000);
pstmt.setInt(2, 162000000);
pstmt.setDate(3, oracleDate);
pstmt.execute();
<强>旧:强>
您是否尝试将java.util.Date
转换为java.sql.Timestamp
?你可以这样做:
try {
final Date javaUtilDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2012-01-20 11:46:06");
System.out.println("javaUtilDate = " + javaUtilDate);
final Timestamp oracleDate = new Timestamp(javaUtilDate.getTime());
System.out.println("oracleDate = " + oracleDate);
} catch (ParseException e) {
e.printStackTrace();
}
这将提供以下输出:
javaUtilDate = Fri Jan 20 11:46:06 CET 2012
oracleDate = 2012-01-20 11:46:06.0