- 修复 */表达式解析问题;#1836

This commit is contained in:
2881099
2024-06-26 19:25:32 +08:00
parent 8c9c2e6985
commit 8e12ecd34f
2 changed files with 12 additions and 3 deletions

View File

@@ -946,10 +946,11 @@ namespace FreeSql.Internal
if (right == "NULL") oper = oper == "=" ? " IS " : " IS NOT ";
switch (oper)
{
case "%": return _common.Mod(left, right, leftExp.Type, rightExp.Type);
case "*": return $"({left} {oper} {right})";
case "%": return $"({_common.Mod(left, right, leftExp.Type, rightExp.Type)})";
case "/":
if (leftExp.Type.IsIntegerType() && rightExp.Type.IsIntegerType()) return _common.Div(left, right, leftExp.Type, rightExp.Type);
break;
if (leftExp.Type.IsIntegerType() && rightExp.Type.IsIntegerType()) return $"({_common.Div(left, right, leftExp.Type, rightExp.Type)})";
return $"({left} {oper} {right})";
case "AND":
case "OR":
if (leftMapColumn != null) left = $"{left} = {formatSql(true, leftMapColumn.Attribute.MapType, null, null)}";