diff --git a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs index a20dd5a0e..ca1a060ae 100644 --- a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs +++ b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs @@ -265,7 +265,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(CAST(:MethodConst0 AS DATETIME) = :Const1 )", new List() { + base.Check(value, pars, "(to_date(:MethodConst0,'yyyy-mm-dd hh24:mi:ss') = :Const1 )", new List() { new SugarParameter(":MethodConst0","2015-1-1"),new SugarParameter(":Const1",x2) }, "ToDate error"); } @@ -277,7 +277,7 @@ namespace OrmTest.UnitTest expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; - base.Check(value, pars, "(CAST(:MethodConst0 AS DATE) = :Const1 )", new List() { + base.Check(value, pars, "(to_date(:MethodConst0,'yyyy-mm-dd hh24:mi:ss') = :Const1 )", new List() { new SugarParameter(":MethodConst0","2015-1-1"),new SugarParameter(":Const1",x2) }, "ExtendDate error"); } diff --git a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs index 5471ca72b..06e9506fc 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs @@ -40,6 +40,21 @@ namespace SqlSugar } public partial class OracleMethod : DefaultDbMethod, IDbMethods { + public override string DateAddByType(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + var parameter2 = model.Args[1]; + var parameter3 = model.Args[2]; + return string.Format(" (DATEADD({2},{1},{0})) ", parameter.MemberName, parameter2.MemberName, parameter3.MemberValue); + } + + public override string DateAddDay(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + var parameter2 = model.Args[1]; + return string.Format(" (DATEADD(day,{1},{0})) ", parameter.MemberName, parameter2.MemberName); + } + public override string ToString(MethodCallExpressionModel model) { var parameter = model.Args[0]; @@ -49,7 +64,7 @@ namespace SqlSugar public override string ToDate(MethodCallExpressionModel model) { var parameter = model.Args[0]; - return string.Format(" CAST({0} AS DATE)", parameter.MemberName); + return string.Format(" to_date({0},'yyyy-mm-dd hh24:mi:ss')", parameter.MemberName); } public override string Contains(MethodCallExpressionModel model) {