获取昨天存储在数据库中的条目

本文关键字:数据库 昨天 存储 获取 | 更新日期: 2023-09-27 18:18:18

我有一个SQL语句,根据今天的日期获得一些数据,并将其填充在linkbutton.Text中。如果今天没有足够的数据,应该用昨天的数据来填充。下面是我到目前为止写的SQL语句:

"SELECT * FROM table1 WHERE cat = 1 and datee = @dt ORDER BY datee DESC ";

获取昨天存储在数据库中的条目

我建议不要限制日期,只需决定您想要多少结果并选择其中的TOP(x)个数:

例如,如果您想要从今天开始并在需要时返回到明天(甚至更远)的最近的20个结果,您可以这样做:

"SELECT TOP(20) * FROM table1 WHERE cat = 1 ORDER BY datee DESC ";

如果您将来可能有日期,您可以通过添加以下where子句来限制它们:

"SELECT TOP(20) * FROM table1 WHERE cat = 1 AND datee <= @dt  ORDER BY datee DESC ";

其中@dt为今天的日期


当然,如果你的规则更具体,即你应该返回24个结果,如果今天有24个条目,或者你不希望以这种方式限制总数,那么我建议做两个查询,例如:

var results = GetResultsForToday();
if(results.Count() < 20)//not enough!
    result.Add(GetResultsForYesterday());

或者您可以在TOP语句之外使用BETWEEN语句,如:

SELECT TOP(10) * FROM table1 WHERE cat = 1 and  
datee BETWEEN DATEADD(day, -1, @dt) AND @dt 
ORDER BY datee DESC