查询的时候如果使用了DateTime.AddMinutes(-2)出现结果异常是Bug吗? 返回

SqlSugar 沟通中
2 115

//数据库 sqllite 

//sqlsugar版本 5.1.4.143

var query =_tbService.Queryable<Table1>().Where(x=>x.CreateTime>= DateTime.Now.AddMinutes(-2) && x.CreateTime<= DateTime.Now)

var sql= query.ToSqlString();

Console.WriteLine(sql);



//打印的sql语句是

select * from table1 where ( `CreateTime` >= DATETIME(DATETIME('2024-08-08 14:10:00.090'), '+ Minutes'))) AND ( `CreateTime` <= '2024-08-08 14:10:00.090' ))

//最后发现 DateTime.Now.AddMinutes(-2) 这里得提前使用变量后 查询正常,

如下var start = datenow.AddMinutes(-item.MonitorInterval);

var query =_tbService.Queryable<Table1>().Where(x=>x.CreateTime>= start && x.CreateTime<= DateTime.Now)

热忱回答2

  • fate sta fate sta VIP0
    1个月前

    需要提供DEMO,SQLITE精度不会太准,可能秒差

    0 回复
  • 其实是这里的 DateTime.Now.AddMinutes(-2)  输出的sql 是   DATETIME(DATETIME('2024-08-08 14:10:00.090'), '+ Minutes')

    select DATETIME(DATETIME('2024-08-08 14:10:00.090'), '+ Minutes') 这个结果是null

    正确的结果应该是 2024-08-08 14:08:00.090  

    所以是不是 Expression 对于 DateTime.Now.AddMinutes(-2) 转换有错?


    0 回复