mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
Update exp to sql
This commit is contained in:
@@ -514,6 +514,10 @@ namespace SqlSugar
|
|||||||
|
|
||||||
var str ="'"+ model.Args[0].MemberValue.ObjToString()+"'";
|
var str ="'"+ model.Args[0].MemberValue.ObjToString()+"'";
|
||||||
var revalue = MergeString("'", "$1", "'");
|
var revalue = MergeString("'", "$1", "'");
|
||||||
|
if (revalue.Contains("concat("))
|
||||||
|
{
|
||||||
|
return FormatConcat(model);
|
||||||
|
}
|
||||||
str =Regex.Replace(str, @"(\{\d+?\})", revalue);
|
str =Regex.Replace(str, @"(\{\d+?\})", revalue);
|
||||||
var array = model.Args.Skip(1).Select(it => it.IsMember?it.MemberName:it.MemberValue)
|
var array = model.Args.Skip(1).Select(it => it.IsMember?it.MemberName:it.MemberValue)
|
||||||
.Select(it=>ToString(new MethodCallExpressionModel() { Args=new List<MethodCallExpressionArgs>() {
|
.Select(it=>ToString(new MethodCallExpressionModel() { Args=new List<MethodCallExpressionArgs>() {
|
||||||
@@ -521,6 +525,20 @@ namespace SqlSugar
|
|||||||
} })).ToArray();
|
} })).ToArray();
|
||||||
return string.Format(""+str+ "", array);
|
return string.Format(""+str+ "", array);
|
||||||
}
|
}
|
||||||
|
private string FormatConcat(MethodCallExpressionModel model)
|
||||||
|
{
|
||||||
|
|
||||||
|
var str = "concat('" + model.Args[0].MemberValue.ObjToString() + "')";
|
||||||
|
str = Regex.Replace(str, @"(\{\d+?\})", "',$1,'");
|
||||||
|
var array = model.Args.Skip(1).Select(it => it.IsMember ? it.MemberName : it.MemberValue)
|
||||||
|
.Select(it => ToString(new MethodCallExpressionModel()
|
||||||
|
{
|
||||||
|
Args = new List<MethodCallExpressionArgs>() {
|
||||||
|
new MethodCallExpressionArgs(){ IsMember=true, MemberName=it }
|
||||||
|
}
|
||||||
|
})).ToArray();
|
||||||
|
return string.Format("" + str + "", array);
|
||||||
|
}
|
||||||
|
|
||||||
public virtual string Abs(MethodCallExpressionModel model)
|
public virtual string Abs(MethodCallExpressionModel model)
|
||||||
{
|
{
|
||||||
|
@@ -69,20 +69,20 @@ namespace SqlSugar
|
|||||||
var parameter2 = model.Args[1];
|
var parameter2 = model.Args[1];
|
||||||
return string.Format(" (TIMESTAMPDIFF(day,date({0}),date({1}))=0) ", parameter.MemberName, parameter2.MemberName); ;
|
return string.Format(" (TIMESTAMPDIFF(day,date({0}),date({1}))=0) ", parameter.MemberName, parameter2.MemberName); ;
|
||||||
}
|
}
|
||||||
public virtual string Format(MethodCallExpressionModel model)
|
//public virtual string Format(MethodCallExpressionModel model)
|
||||||
{
|
//{
|
||||||
|
|
||||||
var str = "concat('" + model.Args[0].MemberValue.ObjToString() + "')";
|
// var str = "concat('" + model.Args[0].MemberValue.ObjToString() + "')";
|
||||||
str = Regex.Replace(str, @"(\{\d+?\})", "',$1,'");
|
// str = Regex.Replace(str, @"(\{\d+?\})", "',$1,'");
|
||||||
var array = model.Args.Skip(1).Select(it => it.IsMember ? it.MemberName : it.MemberValue)
|
// var array = model.Args.Skip(1).Select(it => it.IsMember ? it.MemberName : it.MemberValue)
|
||||||
.Select(it => ToString(new MethodCallExpressionModel()
|
// .Select(it => ToString(new MethodCallExpressionModel()
|
||||||
{
|
// {
|
||||||
Args = new List<MethodCallExpressionArgs>() {
|
// Args = new List<MethodCallExpressionArgs>() {
|
||||||
new MethodCallExpressionArgs(){ IsMember=true, MemberName=it }
|
// new MethodCallExpressionArgs(){ IsMember=true, MemberName=it }
|
||||||
}
|
// }
|
||||||
})).ToArray();
|
// })).ToArray();
|
||||||
return string.Format("" + str + "", array);
|
// return string.Format("" + str + "", array);
|
||||||
}
|
//}
|
||||||
public override string DateIsSameByType(MethodCallExpressionModel model)
|
public override string DateIsSameByType(MethodCallExpressionModel model)
|
||||||
{
|
{
|
||||||
var parameter = model.Args[0];
|
var parameter = model.Args[0];
|
||||||
|
Reference in New Issue
Block a user