我经常通过内联sql以这种方式比较日期。
SELECT * FROM dbo.tbl_MyTable
WHERE
CONVERT(VARCHAR, DateTimeValueColumn, 112) >= CONVERT(VARCHAR, '20150101', 112) AND
CONVERT(VARCHAR, DateTimeValueColumn, 112) <= CONVERT(VARCHAR, '20150201', 112)
我如何指示LINQ生成上述SQL以进行日期比较。寻找示例代码来实现这一目标。感谢
答案 0 :(得分:0)
如果你真的被告知想要做的话会更容易回答:只比较时间戳的dart部分。您将它们转换为格式112(yyyyMMdd
)以实现此目的。
如果您使用LINQ查询,则会为DateTime
或datetime
列获取datetime2
个对象。要比较日期部分,您只需使用Date
对象的DateTime
属性,例如
[...]
where row.DateTimeColumn.Date >= new DateTime(2015, 1, 1) &&
row.DateTimeColumn.Date <= new DateTime(2015, 2, 1)