我是一个java新手,但我不确定我做错了什么。当我尝试从数据库中检索最后两个日期时,它只显示年份(而在 mysql 中,相同的命令提供了正确的结果)。
Mysql 命令:从基金分析中选择不同日期 ORDER BY 日期 DESC LIMIT 2
预期结果:
2011-06-13
2011-06-08
这是我的java代码:
preparedStatement = con.prepareStatement("SELECT DISTINCT date From fundanalysis ORDER BY date DESC LIMIT 2");
ResultSet numberofrowsresultset = preparedStatement.executeQuery();
numberofrowsresultset.next();
// most recent date
currentdate.add(numberofrowsresultset.getInt("date"));
System.out.print(numberofrowsresultset.getInt("date"));
numberofrowsresultset.next();
// last date before most recent
currentdate.add(numberofrowsresultset.getInt("date"));
return currentdate;
最终结果为:[2011, 2011]
我基本上想要与运行 mysql 查询时得到的结果完全相同的结果,因为我必须按原样提交它以便稍后在程序中执行另一个查询。
请帮忙!
最佳答案
它是.getDate
而不是.getInt
尝试:
numberofrowsresultset.getDate("date");
关于java mysql select语句不返回完整日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6381385/