生成的查询语句,日期类型怎么可以不要毫秒? 返回

例如:
var sugarSql = SugarSqlFactory.Create();
var sqlStr = sugarSql.Queryable<Entity.Inbound>().Where(a => a.InboundDate >= start).ToSqlString();
生成的语句是: SELECT `ID`,`InboundDate` FROM `Inbound` WHERE ( `InboundDate` >= '2025-01-24 00:00:00.000' )
不要毫秒部分 .000,要怎么做?
SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "连接符字串",
DbType = DbType.Sqlite,
IsAutoCloseConnection = true,
MoreSettings = new ConnMoreSettings()
{
DisableMillisecond=true
}
},
已经设置了DisableMillisecond,但是没有效果
热忱回答(11)
-
fate sta VIP0
2周前.Where(a => a.InboundDate.Date >= start.Date)
0 回复 -
fate sta VIP0
2周前你是条件不需要还是 返回给前端不需要。描述清楚
0 回复 -
fate sta VIP0
2周前返回给前端一般是序列化处理
0 回复 -
哈尼老大 VIP0
2周前var start = DateTime.Parse("2025-01-01 00:00:00");
因为 数据库有些日期时间是没有毫秒的,比如库里的时间是 2025-01-01 00:00:00 这样(因为国家地区时间的问题,数据库的日期时间用字符串类型,但是程序里还是用datetime类型),
用 sugarSql 生成的语句是,比较的时间是 2025-01-01 00:00:00.000
这样造成的后果是查不出结果。 因为 2025-01-01 00:00:00.000 要大于 2025-01-01 00:00:00
0 回复 -
fate sta VIP0
2周前.Where(a => a.InboundDate.Date >= start.Date)
这样就行了
0 回复 -
fate sta VIP0
2周前如果是sqlite 查不出数据一般是数据库时间格式有问题,清空数据全部改用ORM插入就可以查出
0 回复 -
fate sta VIP0
2周前另外打印的SQL是不准的,orm是参数化处理,还有疑问提供完整的DEMO
0 回复 -
哈尼老大 VIP0
2周前我是把生成的sql直接拿navcat执行的,也查不出。 原因我刚才说了 因为 2025-01-01 00:00:00.000 是大于 2025-01-01 00:00:00的
我想要的结果就是, sugarSql 生成的语句,能不能去掉毫秒部分?
0 回复 -
哈尼老大 VIP0
2周前因为特殊的原因,我不需要用整个ORM,只需要用生成sql语句那部分
0 回复 -
哈尼老大 VIP0
2周前因为 2025-01-01 00:00:00.000 是大于 2025-01-01 00:00:00,你上面回复说用 .date 就是只取日期部分,我举的例子刚好是00时,如果不是零时,比如2025-01-01 20:05:00 就不能那样用了
0 回复 -
fate sta VIP0
2周前如果是sqlite 查不出数据一般是数据库时间格式有问题,清空数据全部改用ORM插入就可以查出
另外打印的SQL是不准的,orm是参数化处理,还有疑问提供完整的DEMO
https://www.donet5.com/Home/Doc?typeId=2366 按模版提供
0 回复