【问题标题】:Not able to insert milliseconds to sybase DB无法将毫秒插入 sybase DB
【发布时间】:2014-01-08 21:02:34
【问题描述】:

无法将毫秒插入 DB。

我使用下面的代码

SimpleDateFormat loaderRundate = new SimpleDateFormat("yyyyMMdd HH:mm:ss.SSS");

在调试模式下显示毫秒 (20140108 06:57:54.212),但插入 DB 后显示 2014 年 1 月 8 日上午 6:58

请给我建议。谢谢!

【问题讨论】:

  • 什么是数据库?
  • 可能数据库中的日期格式不支持毫秒精度。尝试将其设为 varchar 并将 Date 的字符串化版本存储在其中(尽管我必须告诉你这不是一个很好的方法)。
  • Sybase 数据库,必须使用 "datetime" 而不是 varchar。
  • 根据文档日期时间精确到 1/300 秒。 infocenter.sybase.com/archive/index.jsp?topic=/… Sybase 可能不会向您显示几分之一秒。看起来你必须使用转换功能。

标签: java sybase


【解决方案1】:

以下代码应允许您以毫秒精度插入日期。我已经将它与 MySql 一起使用,没有任何问题。

java.util.Date date = getMyDate();
if (date == null) {
    statement.setNull(insertionIndex, Types.TIMESTAMP);
} else {
    statement.setTimestamp(insertionIndex, new Timestamp (date.getTime()));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2023-04-10
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多