我想查询来自db的数据,该数据库基于我调用ExpiryDate的日期字段。我希望得到所有数据(ExpiryDate可能为空) EXCEPT 值,其ExpiryDate比今天的日期还要多一天。< / p>
这是我的剧本:
from a in b
where a.EXPIRYDATE == null || a.EXPIRYDATE != null
&& a.EXPIRYDATE >= DateTime.Today.AddDays(-1)
select new ...
任何人都可以解释为什么不起作用?
顺便说一句,这个脚本有效:
from a in b
where a.EXPIRYDATE == null || a.EXPIRYDATE != null
&& a.EXPIRYDATE >= DateTime.Today
select new ...
EXPIRYDATE字段如下:
05-MAY-18
07-SEP-17
22-NOV-17
05-AUG-17
18-APR-18
02-FEB-18
28-AUG-17
31-DEC-99
01-DEC-90
31-DEC-99
31-DEC-99
31-DEC-99
31-DEC-99
31-DEC-99
31-DEC-99
31-DEC-17
31-DEC-99
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
答案 0 :(得分:3)
道歉,这是关于LINQ查询。 我的问题是获取所有字段的数据,除非expirydate在昨天之前。
我找到了解决方案:
DateTime yest = DateTime.Today.AddDays(-1);
returnValue = (from a in b
where (a.EXPIRYDATE == null || a.EXPIRYDATE > yest)
select new ...
我必须从今天开始减去日期并将其存储在LINQ查询之前的变量中,而不是在查询中使用DateTime.Today.AddDays(-1)。