我想使用 JDBC 从 MS Access 检索两个日期之间的数据。
我努力了
String query= "SELECT lastlogin FROM loginHistory " +
"WHERE lastlogin BETWEEN #01/07/2013# AND #03/07/2013#"+
"ORDER BY lastLogin DESC";
我没有得到想要的结果。有什么问题。请帮帮我!
谢谢你。
我想使用 JDBC 从 MS Access 检索两个日期之间的数据。
我努力了
String query= "SELECT lastlogin FROM loginHistory " +
"WHERE lastlogin BETWEEN #01/07/2013# AND #03/07/2013#"+
"ORDER BY lastLogin DESC";
我没有得到想要的结果。有什么问题。请帮帮我!
谢谢你。
通过将日期格式从转换01/07/2013
为2013/07/01
String query= "SELECT lastlogin FROM loginHistory " +
"WHERE lastlogin BETWEEN #2013/07/01# AND #2013/07/03#"+
"ORDER BY lastLogin DESC";
谢谢大家对我的支持。。
Query
最后错过了"
,你在中间添加了。
尝试
String query= "SELECT lastlogin FROM loginHistory " +
"WHERE lastlogin BETWEEN #01/07/2013# AND #03/07/2013# "+
"ORDER BY lastLogin DESC";
您的 SQL 语法是正确的,但您的代码中间有一个额外的引号,直接位于 BETWEEN 子句中的第一个日期之后。
我没有得到想要的结果。
我相信你的代码可以编译,但你没有得到你期望的结果集。尽管您在此处发布的代码缺少引号。我相信这是一个错字,否则代码不会自行编译。
检查查询中的日期字符串格式是否正确。执行查询作为PreparedStatement
:
String query= "SELECT lastlogin FROM loginHistory " +
"WHERE lastlogin BETWEEN ? AND ?"+
"ORDER BY lastLogin DESC";
并在使用格式正确格式化后设置日期字符串Date
。还要检查你的列的数据类型是什么,是它VARCHAR/String
还是DATE
等等。你甚至可以format()
在 sql 查询本身中使用:
Select lastlogin From loginHistory where format(lastlogin,"dd/mm/yyyy")
BETWEEN format(#01/07/2013#,"dd/mm/yyyy") AND
format(#03/07/2013#,"dd/mm/yyyy") ORDER BY lastLogin DESC;