在SqlServer中,关于DateTime类型,如果业务中有比较精确的时间查询,我们需要特别注意该类型的字段,原因是SqlServer会自动将毫秒按照几个规则将最后一位的毫秒数圆整为指定的值,具体如下所示:

  1. 末尾的0和1会变为0;
  2. 末尾的2、3和4会变为3;
  3. 末尾的5、6、7和8会变为7;
  4. 末尾的9会变为0(这里的0是加0.001毫秒)。

SqlServer中DateTime类型需要注意的地方_linq

SqlServer中DateTime类型需要注意的地方_数据库_02

SqlServer中DateTime类型需要注意的地方_数据库_03 

SqlServer中DateTime类型需要注意的地方_数据_04 

        所以,在查询某一天数据的时候(比如查询2022年6月17号这一天的数据),结束条件可以使用 <'2022-06-18' 或者 <='2022-06-17 23:59:59.998'