在linq到sql中的两个日期时间之间查询
本文关键字:两个 日期 时间 查询 之间 linq sql | 更新日期: 2023-09-27 18:21:36
我有一个以2个日期时间为参数的查询,我需要编写一个where子句来获取介于两者之间的记录。这些不仅仅是日期,还有日期和时间(即2012年1月28日9:45)
到目前为止,我这个:
where d.RecordDateTime > StartDate && d.RecordDateTime < EndDate
我应该重写为:吗
where d.RecordDateTime > StartDate.Date && d.RecordDateTime < EndDate.Date
或者它是正常的。
谢谢。
您当前的查询定义有效。。。根据您是否希望结果包括StartDate
和/或EndDate
,应该稍微更改一下:
where d.RecordDateTime >= StartDate && d.RecordDateTime <= EndDate
如果您按照问题中的建议更改查询,那么您将使其包含在结果中,而与时间无关——尽管它会错过时间为00:00:00的行,甚至错过一整天(EndDate
)。
您需要检查此链接,因为它将告诉在日期时间格式的where子句where子句中筛选数据的简化方法
StartDtm < @ToTime AND EndDtm >= @FromTime
如果您有一个单一的日期变量,并且在模型上有RecordDateStart和RecordDateEnd,您可以执行:
.Where(x => x.DtStart <= YourDate & x.DtEnd >= YoutDate)