gpt4 book ai didi

java - 使用时间戳的准备语句需要更多纳秒

转载 作者:行者123 更新时间:2023-11-30 07:03:07 26 4
gpt4 key购买 nike

我使用以下语句从 SQL DB 获取时间戳:

stmt.setTimestamp(i++, new java.sql.Timestamp(example.getExampleDate().getTime()))

效果很好并返回:

2013-02-22 12:27:34.0 

现在碰巧我需要它更精确,如下所示:

2013-02-22 12:27:34.000

所以我在文档中找到了以下方法,这显然正是我想要的:

setNanos(int n)

Sets this Timestamp object's nanos field to the given value.

但我需要弄清楚如何将其包含到我准备好的声明中?

例如我尝试过

stmt.setTimestamp(i++, new java.sql.Timestamp(example.getExampleDate().getTime()).setNanos(3));

但是返回以下错误:

PreparedStatement 类型中的 setTimestamp(int, Timestamp) 方法不适用于参数 (int, void)

非常感谢您的帮助!

最佳答案

setNanos() 返回 void。因此表达式 new java.sql.Timestamp(example.getExampleDate().getTime()).setNanos(3) 的类型为 void。您不能将 void 传递给 setTimestamp() 方法。您必须传递时间戳。

所以使用变量:

Timestamp timestamp = new Timestamp(example.getExampleDate().getTime());
timestamp.setNanos(3);
stmt.setTimestamp(i++, timestamp);

关于java - 使用时间戳的准备语句需要更多纳秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com