【问题标题】:Change date format to Oracle Date Format将日期格式更改为 Oracle 日期格式
【发布时间】:2013-01-22 20:00:15
【问题描述】:

我正在使用 java 代码从文本文件中读取少量数据,以及格式中的日期(30-OCT-2012 12-22-44-991),我想将这些详细信息存储在 Oracle 数据库中,但格式相同由 oracle 使用。 我尝试了 To_date 但没有用,它给出了错误。 请帮助我。

【问题讨论】:

  • 请显示您尝试过的代码,以及确切的错误消息。

标签: java oracle10g


【解决方案1】:

在 Java 中使用 SimpleDateFormat 将您的字符串解析为 java.util.Date。然后在上面使用PreparedStatementset the date

【讨论】:

    【解决方案2】:

    编辑: 您可以使用 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();
    

    旧: 您是否尝试将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
    

    【讨论】:

    • 我将日期转换为时间戳,oracle 列也是时间戳。但我的查询仍然不起作用。
    • 查询我正在使用 INSERT 到 IFT_VEHICLE_STATUS (LATITUDE, LONGITUDE, UPDATED_AT) VALUES ('lat','lon','timestampdate');
    • 你能像 Aleksander Blomskøld 建议的那样使用PreparedStatement 并在stackoverflow.com/questions/9180014/… 的帮助下使用: PreparedStatement pstmt = con.prepareStatement("INSERT into IFT_VEHICLE_STATUS (LATITUDE, LONGITUDE, UPDATED_AT) VALUES (?, ? , to_timestamp(?, 'DD.MM.YYYY HH24:MI:SS:SSFF3'))"); pstmt.setInt(1, 81000000); pstmt.setInt(2, 162000000); pstmt.setDate(3, oracleDate);
    猜你喜欢
    • 1970-01-01
    • 2022-07-04
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多