我有疑问:
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/