如何将from添加到SqlCommand的比较

本文关键字:SqlCommand 比较 添加 from | 更新日期: 2023-09-27 18:09:45

所以我遇到了一个问题,我正在传递一组从c#到SqlCommand的参数。我的测试场景涉及以下日期

  • from: Aug 30 2016
  • 至:2016年8月31日

然而,结果包括2016年9月1日的数据。

使用SQL Server分析器,我可以看到进入SQL查询的日期是'2016-09-01 00:00:00'而不是2016-08-31 23:59:59。

下面是相关的c#代码片段
if (request.DateStart != DateTime.MinValue) 
   command.Parameters.Add(new SqlParameter("@dateStart", request.DateStart));
if (request.DateEnd != DateTime.MinValue) 
   command.Parameters.Add(new SqlParameter("@dateEnd", request.DateEnd));
什么会导致c#改变它发送给SQL的日期?

如何将from添加到SqlCommand的比较

所以事实证明,在前端,我使用moment(to). endof ('day')将一天的结束发送到API上的DateEnd参数。问题是,最后的日期是"2016-08-31 23:59:59:9990"。这恰好比SQL的datetime类型更精确,因此c#将日期值舍入为'2016-09-01 00:00:00'。

我已经将前端代码更改为以下代码,并解决了问题。在这种情况下,结果是精确度太高了。

 moment(filter.dateEnd).add(1, 'day').add(-1, 'second')