diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs index 8e82144fb..95994b886 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs @@ -310,11 +310,12 @@ namespace SqlSugar var parameterNameB = mode.Args[1].MemberName; return $" SUBSTR({parameterNameA}, 1, {parameterNameB}) "; } + public override string Right(MethodCallExpressionModel mode) { var parameterNameA = mode.Args[0].MemberName; var parameterNameB = mode.Args[1].MemberName; - return $" SUBSTR({parameterNameA}, -2, {parameterNameB}) "; + return $" SUBSTR({parameterNameA}, -{parameterNameB}, {parameterNameB}) "; //hdl 20260121 } public override string Ceil(MethodCallExpressionModel mode) diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs index e4d1d3390..af87f010c 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs @@ -435,7 +435,7 @@ namespace SqlSugar { var parameterNameA = mode.Args[0].MemberName; var parameterNameB = mode.Args[1].MemberName; - return $" SUBSTR({parameterNameA}, (LENGTH({parameterNameA})-2), {parameterNameB}) "; + return $" SUBSTR({parameterNameA}, -{parameterNameB}, {parameterNameB}) "; //hdl 20260121 } public override string Ceil(MethodCallExpressionModel mode) diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs index f6c6c5e7d..b0f0ea856 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteExpressionContext.cs @@ -362,7 +362,7 @@ namespace SqlSugar { var parameterNameA = mode.Args[0].MemberName; var parameterNameB = mode.Args[1].MemberName; - return $" SUBSTR({parameterNameA}, -2, {parameterNameB}) "; + return $" SUBSTR({parameterNameA}, -{parameterNameB}, {parameterNameB}) "; //修改 20260121 } public override string NewUid(MethodCallExpressionModel mode)