Update Oracle

This commit is contained in:
sunkaixuan 2017-09-25 00:33:12 +08:00
parent c59454655d
commit 4da0b58a63
2 changed files with 35 additions and 12 deletions

View File

@ -363,9 +363,8 @@ namespace OrmTest.UnitTest
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
var value = expContext.Result.GetString();
var pars = expContext.Parameters;
base.Check(value, pars, "((DATEADD(:MethodConst2,:MethodConst1,:MethodConst0)) = :Const3 )", new List<SugarParameter>() {
new SugarParameter(":MethodConst0",x2),new SugarParameter(":MethodConst1",11),new SugarParameter(":Const3",x2),
new SugarParameter(":MethodConst2",DateType.Millisecond)
base.Check(value, pars, "((\"DATETIME2\"+0.0416666666666667) = :Const2 )", new List<SugarParameter>() {
new SugarParameter(":Const2",x2)
}, "DateAddByType error");
}
private void DateAddDay()
@ -376,7 +375,7 @@ namespace OrmTest.UnitTest
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
var value = expContext.Result.GetString();
var pars = expContext.Parameters;
base.Check(value, pars, "((DATEADD(day,:MethodConst1,:MethodConst0)) = :Const2 )", new List<SugarParameter>() {
base.Check(value, pars, "((:MethodConst0+1) = :Const2 )", new List<SugarParameter>() {
new SugarParameter(":MethodConst0",x2),new SugarParameter(":MethodConst1",1),new SugarParameter(":Const2",x2)
}, "DateAddDay error");
@ -392,9 +391,9 @@ namespace OrmTest.UnitTest
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
var value = expContext.Result.GetString();
var pars = expContext.Parameters;
base.Check(value, pars, "((DATEADD(:Const0,:MethodConst1,\"DATETIME2\")) = :Const2 )", new List<SugarParameter>() {
new SugarParameter(":Const0",DateType.Hour.ToString()),new SugarParameter(":MethodConst1",10)
,new SugarParameter(":Const2",x2)
base.Check(value, pars, "((\"DATETIME2\"+0.0416666666666667) = :Const2 )", new List<SugarParameter>() {
new SugarParameter(":Const2",x2),
new SugarParameter(":MethodConst1",10)
}, "DateAddDay2 error");
}
@ -406,9 +405,8 @@ namespace OrmTest.UnitTest
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
var value = expContext.Result.GetString();
var pars = expContext.Parameters;
base.Check(value, pars, "((DATEADD(:Const0,:MethodConst2,:MethodConst1)) = :Const3 )", new List<SugarParameter>() {
new SugarParameter(":Const0",DateType.Hour.ToString()),new SugarParameter(":MethodConst2",1),new SugarParameter(":MethodConst1",x2)
,new SugarParameter(":Const3",x2)
base.Check(value, pars, "((:MethodConst1+0.0416666666666667) = :Const3 )", new List<SugarParameter>() {
new SugarParameter(":MethodConst1",x2),new SugarParameter(":MethodConst2",1),new SugarParameter(":Const3",x2)
}, "DateAddDay3 error");
}

View File

@ -45,14 +45,39 @@ namespace SqlSugar
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);
var type = (DateType)Enum.Parse(typeof(DateType), parameter3.MemberValue.ObjToString(), false);
double time = 1;
switch (type)
{
case DateType.Year:
time = 1 * 365;
break;
case DateType.Month:
time = 1 *30;
break;
case DateType.Day:
break;
case DateType.Hour:
time = 1 / 24.0;
break;
case DateType.Second:
time = 1 / 24.0/60.0/60.0;
break;
case DateType.Minute:
time = 1 / 24.0/60.0;
break;
case DateType.Millisecond:
time = 1 / 24.0 / 60.0 / 60.0/1000;
break;
}
return string.Format("({0}+{1}) ", parameter.MemberName, time);
}
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);
return string.Format("({0}+1) ", parameter.MemberName);
}
public override string ToString(MethodCallExpressionModel model)