+-

如果当前日期是2015年3月12日,那么我需要从日期2/12 / 2015、3 / 12 / 2015、4 / 12/2015获取文件.谁能告诉我一个想法吗?
<%
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433/CubeHomeTrans","sa","softex");
Statement statement = con.createStatement() ;
ResultSet resultset = statement.executeQuery("
select file from tablename
where date >= DATEADD(day, -1, convert(date, GETDATE()))
and date <= DATEADD(day, +1, convert(date, GETDATE()))") ;
while(resultset.next())
{
String datee =resultset.getString("Date");
out.println(datee);
}
}
catch(SQLException ex){
System.out.println("exception--"+ex);
}
%>
这是我所做的查询,但这是错误的.我需要获取上一个日期,当前日期和下一个日期.
最佳答案
使用
DATE_ADD()和
DATE_SUB()函数:
尝试这个:
SELECT FILE, DATE
FROM ForgeRock
WHERE STR_TO_DATE(DATE, '%d/%m/%Y') >= DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
AND STR_TO_DATE(DATE, '%d/%m/%Y') <= DATE_ADD(CURRENT_DATE(), INTERVAL 1 DAY);
检查SQL FIDDLE DEMO
::输出::
| file | DATE |
|------|------------|
| dda | 31/12/2015 |
| ass | 01/01/2016 |
| sde | 02/01/2016 |
点击查看更多相关文章
转载注明原文:mysql-SQL查询以查找上一个日期,当前日期和下一个日期 - 乐贴网