如何从数据库中选择数周的日期?

时间:2013-04-04 14:11:00

标签: c# database datetime linq-to-sql

我要做的是在上周搜索我的数据库(ado.net with linq to sql)。

数据库有一个名为date的字段,我需要在当前日期之前7天的条目。

var records = (from r in context.PumpInfoTables
               where r.Date.Equals(DateTime.Now)
               //&& where r.date <= 7 days <--help
               select r);

所以我正在寻找这个查询的一些帮助,是否有可以使用的中间函数?

3 个答案:

答案 0 :(得分:4)

DateTime weekFromNow = DateTime.Now.AddDays(-7);
var records = (from r in context.PumpInfoTables
                           where r.Date < DateTime.Now
                           && r.Date >= weekFromNow
                           select r);

答案 1 :(得分:3)

这很简单:

var oneWeekAgo = DateTime.Today.AddDays(-7);
var records = (from r in context.PumpInfoTables
               where r.Date >= oneWeekAgo
               select r);

这假设您没有将来的条目。如果有,请改用:

var today = DateTime.Today;
var oneWeekAgo = today.AddDays(-7);
var records = (from r in context.PumpInfoTables
               where r.Date >= oneWeekAgo && r.Date <= today + 1
               select r);

请注意:
我的代码使用DateTime.Today代替DateTime.Now,假设您只对日期部分感兴趣,而不是时间。

答案 2 :(得分:0)

这样的东西?:

var records = (from r in context.PumpInfoTables
                           where r.Date > DateTime.Today.AddDays(-7)
                           select r);