[C#]在 LINQ 中的特定格式的日期比较

标签: Linq SQLServer C#
发布时间: 2017/2/27 5:54:58
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我经常通过线在 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。寻找示例代码,以实现这一目标。谢谢你

解决方法 1:

它本来就容易回答如果我告诉你其实想做的事︰ 比较只飞镖部分的时间戳。你将它们转换为格式 112 ( yyyyMMdd ) 为实现这个目标。

如果您使用 LINQ 查询你会得到 DateTime 对象为 datetimedatetime2 列。比较日期部分你可以简单地使用 Date 属性的 DateTime 对象,例如

[...]
where row.DateTimeColumn.Date >= new DateTime(2015, 1, 1) &&
      row.DateTimeColumn.Date <= new DateTime(2015, 2, 1)
官方微信
官方QQ群
31647020