+-
mysql-SQL查询以查找上一个日期,当前日期和下一个日期
如果当前日期是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查询以查找上一个日期,当前日期和下一个日期 - 乐贴网