java - Java 中 SQL Server PreparedStatement 的错误结果

标签 java sql-server jakarta-ee prepared-statement

我有疑问:

select * from db where timeColumn >= ?

然后我使用准备语句:

PreparedStatement statement = connection.prepareStatement(sql);
statement.setDate(index, new java.sql.Date(((Date) param).getTime()));

Microsoft 驱动程序结果不正确,resultSet 包含从一天开始的行,忽略请求的小时/分钟等。

怎么了?

最佳答案

结果是正确的:您使用的是 setDate() 和仅包含年、月和日的 java.sql.Date,而不是 setTimestamp() 和还包含时间部分的 java.sql.Timestamp

例如:

新的java.sql.Timestamp(新的java.util.Date().getTime())

关于java - Java 中 SQL Server PreparedStatement 的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891654/

相关文章:

java - 无法使用 while 循环提交表单

sql-server - 如何在 POWER BI 中减去不同行上的日期

c# - 我想知道如何将值传递给另一个 View 并在单击 asp.net mvc 中的更新按钮时更新我的​​详细信息

java.lang.IllegalStateException : getOutputStream() has already been called for this response 错误

java - 从 in_exec Fluentd 插件启动 java 命令

java - 代号一 - 自动滚动屏幕

java - JAXRS 2.0 接收未定义数量的参数

sql - 如何在sql server中计算平均值

java - Spring 和 Hibernate 配置错误无法从 URL 位置导入 bean 定义

java - IBM WebSphere 8.5 中的 LogBack 作为 SharedLibrary