【发布时间】:2015-09-22 01:15:49
【问题描述】:
我需要按日期、月份和年份过滤我的可空日期时间。
我目前正在尝试通过使用字符串比较来做到这一点。我在 linq 的 where 语句中有这个:
DOB.ToString().StartsWith("2/25/19") || DOB == null
但它不起作用。我知道它是因为服务器不会像那样存储日期,但我不确定它是如何存储它的,以及如何检索它并进行比较。
我真的需要在数据库上发生这种情况。我无法在服务器中获取所有内容并进行过滤。
我只想让 linq 按日、月和年过滤日期
感谢任何帮助或指点。
【问题讨论】:
-
您是否正在查找 2 月 25 日 20 世纪的所有 DOB 记录?还有其他方法可以实现这一点。您将如何在数据库端执行此操作?你在使用存储过程吗?
-
您可能应该使用 DateTime 方法来比较这些值,而不是将其转换为字符串。
DateTime上有一个属性Date可能会对您有所帮助... -
我想要的是能够写“2”并获得所有2月2日的DOB。或写 2/25 并获取所有日期为 25 月为 2 月的 DOB。
-
当你说“写'2'”时,你的意思是写在你的代码或 UI 中?您可以为您的问题发布一些背景信息吗?可能是整个 LINQ 查询。
-
这不会有太大帮助,但是在搜索 1 月时,您会遇到 10 月到 12 月月份的问题。让我认为必须找到更好的路径......