查询的时候如果使用了DateTime.AddMinutes(-2)出现结果异常是Bug吗? 返回
//数据库 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 VIP01个月前
需要提供DEMO,SQLITE精度不会太准,可能秒差
0 回复 -
返回上一页| VIP01个月前
其实是这里的 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 回复