From c2b2971f25fe4f498a939b963eeaecd9836ff3b8 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 2 Jan 2024 14:34:58 +0800 Subject: [PATCH] TDengine SqlFunc.Substring --- .../SqlBuilder/TDengineExpressionContext.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs index a4fffd015..2100ec6c4 100644 --- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs @@ -145,6 +145,22 @@ namespace SqlSugar.TDengine { return "false"; } + + public override string Substring(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + var parameter2 = model.Args[1]; + var parameter3 = model.Args[2]; + if (parameter2.MemberValue is int&& parameter3.MemberValue is int) + { + model.Parameters.RemoveAll(it => it.ParameterName.Equals(parameter2.MemberName) || it.ParameterName.Equals(parameter3.MemberName)); + return string.Format("SUBSTR({0},{1},{2})", parameter.MemberName, Convert.ToInt32(parameter2.MemberValue) + 1, parameter3.MemberValue); + } + else + { + return string.Format("SUBSTR({0},{1},{2})", parameter.MemberName, parameter2.MemberName, parameter3.MemberName); + } + } public override string DateDiff(MethodCallExpressionModel model) { var parameter = model.Args[0];