diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs index 29a072ab..2d38490e 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs @@ -341,6 +341,9 @@ namespace FreeSql.Tests [Fact] public void Test1() { + var kfkfjdfg = g.oracle.Select().Where(a => (DateTime.Now - a.EditTime).TotalMinutes > 100).ToSql(); + + g.oracle.Aop.SyncStructureAfter += (s, e) => Trace.WriteLine(e.Sql); diff --git a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs index e4752a68..3dee8d3f 100644 --- a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs +++ b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs @@ -378,7 +378,7 @@ namespace FreeSql.Oracle case "Subtract": switch ((exp.Arguments[0].Type.IsNullableType() ? exp.Arguments[0].Type.GenericTypeArguments.FirstOrDefault() : exp.Arguments[0].Type).FullName) { - case "System.DateTime": return $"({args1}-{left})"; + case "System.DateTime": return $"numtodsinterval(({left}+0)-({args1}+0),'day')"; case "System.TimeSpan": return $"({left}-{args1})"; } break;