From 97f4e53ac19da74695eb4eef449dd320161d8860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CLD=5FLee=E2=80=9D?= <“1033408461@qq.com”> Date: Thu, 24 Aug 2023 15:18:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A5=9E=E9=80=9A=E5=87=BD=E6=95=B0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SqlBuilder/OscarExpressionContext.cs | 55 +++++-------------- 1 file changed, 13 insertions(+), 42 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/SqlBuilder/OscarExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/SqlBuilder/OscarExpressionContext.cs index d4514c5e6..65aa83c5b 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/SqlBuilder/OscarExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/SqlBuilder/OscarExpressionContext.cs @@ -119,36 +119,14 @@ namespace SqlSugar { var parameter = model.Args[0]; var parameter2 = model.Args[1]; - var format = "dd"; - if (parameter2.MemberValue.ObjToString() == DateType.Year.ToString()) + if (parameter.MemberName != null && parameter.MemberName is DateTime) { - format = "yyyy"; + return string.Format(" datepart({0},'{1}') ", parameter2.MemberValue, parameter.MemberName); } - if (parameter2.MemberValue.ObjToString() == DateType.Month.ToString()) + else { - format = "MM"; + return string.Format(" datepart({0},{1}) ", parameter2.MemberValue, parameter.MemberName); } - if (parameter2.MemberValue.ObjToString() == DateType.Day.ToString()) - { - format = "dd"; - } - if (parameter2.MemberValue.ObjToString() == DateType.Hour.ToString()) - { - format = "hh"; - } - if (parameter2.MemberValue.ObjToString() == DateType.Minute.ToString()) - { - format = "mm"; - } - if (parameter2.MemberValue.ObjToString() == DateType.Second.ToString()) - { - format = "ss"; - } - if (parameter2.MemberValue.ObjToString() == DateType.Millisecond.ToString()) - { - format = "ss"; - } - return string.Format(" cast( to_char({1},'{0}')as integer ) ", format, parameter.MemberName); } public override string Contains(MethodCallExpressionModel model) @@ -191,21 +169,7 @@ namespace SqlSugar { var parameter = model.Args[0]; return string.Format(" CAST({0} AS timestamp)", parameter.MemberName); - } - public override string DateAddByType(MethodCallExpressionModel model) - { - var parameter = model.Args[0]; - var parameter2 = model.Args[1]; - var parameter3 = model.Args[2]; - return string.Format(" ({1} + ({2}||'{0}')::INTERVAL) ", parameter3.MemberValue, parameter.MemberName, parameter2.MemberName); - } - - public override string DateAddDay(MethodCallExpressionModel model) - { - var parameter = model.Args[0]; - var parameter2 = model.Args[1]; - return string.Format(" ({0} + ({1}||'day')::INTERVAL) ", parameter.MemberName, parameter2.MemberName); - } + } public override string ToInt32(MethodCallExpressionModel model) { @@ -222,7 +186,7 @@ namespace SqlSugar public override string ToString(MethodCallExpressionModel model) { var parameter = model.Args[0]; - return string.Format(" CAST({0} AS VARCHAR)", parameter.MemberName); + return string.Format(" CAST({0} AS VARCHAR(1024))", parameter.MemberName); } public override string ToGuid(MethodCallExpressionModel model) @@ -277,5 +241,12 @@ namespace SqlSugar { return "( " + fieldName + "=true )"; } + public override string DateDiff(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + var parameter2 = model.Args[1]; + var parameter3 = model.Args[2]; + return string.Format(" DATEDIFF('{0}',{1},{2}) ", parameter.MemberValue?.ToString().ToSqlFilter(), parameter2.MemberName, parameter3.MemberName); + } } }