Linux下Mysql数据DateTime类型比较问题 返回
SqlSugar
7
103

悬赏:0 飞吻
// UpdateDate是DateTime类型 // rq.updatestarttime是String类型 .WhereIF(!string.IsNullOrEmpty(rq.updatestarttime), (i) => i.UpdateDate >= SqlFunc.ToDate(rq.updatestarttime))
在Linux下
转换出来的sql会变成
AND (`UpdateDate` >= CAST(N'05/25/2023 23:59:59' AS DATETIME))
在MySql中 CAST无法转换 dd/MM/yyyy格式的时间字符串
这个问题该怎么解决
热忱回答(7)
-
fate sta VIP0
2周前//获取原生SQL推荐 5.1.4.63 性能OK UtilMethods.GetNativeSql(sql,pars)
用这个输出SQL
0 回复 -
fate sta VIP0
2周前贴出来
0 回复 -
MoRan813 VIP0
2周前@fate sta:
我用的ISugarQueryable.ToSqlString()
这个条件转确实是转换成这样的
0 回复 -
MoRan813 VIP0
2周前@fate sta:我的Sugar版本是5.1.3.40,我确是没有这个方法
0 回复 -
MoRan813 VIP0
2周前@fate sta:Ubuntu和Aonlis下都有这个问题,应该是跟Linux有关。
0 回复 -
MoRan813 VIP0
2周前.WhereIF(!string.IsNullOrEmpty(rq.updatestarttime), " UpdateDate >= CAST(@updatestarttime AS DATETIME) ",new {updatestarttime = DateTime.Parse(rq.updatestarttime).ToString("yyyy/MM/dd hh:mm:ss")})
我是用这种方法规避了因为操作系统导致的日期转换不正确的问题
0 回复 -
fate sta VIP0
2周前升级ORM就好了 ,这修复过了
0 回复