2

I am reading few data from a text file using java code,along with date in format (30-OCT-2012 12-22-44-991) and i want to store these details in Oracle Database but in the same format as used by oracle. I tried To_date but of no use, it gives error. Kindly help me.

4

2 に答える 2

1

Java でSimpleDateFormatを使用して、文字列をjava.util.Date. 次に、a を使用して日付PreparedStatementを設定します。

于 2013-01-20T10:44:02.917 に答える
1

編集:PreparedStatementすでに提案されている Aleksander Blomskø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();

Old: を に変換しようとし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
于 2013-01-20T10:53:12.337 に答える