- 优化 DateTime.Subtract 统一得到秒差值;

This commit is contained in:
2881099
2024-11-01 22:16:54 +08:00
parent 1f855de7ff
commit 50919bbbf6
27 changed files with 23 additions and 50 deletions

View File

@@ -336,7 +336,7 @@ namespace FreeSql.KingbaseES
switch (exp.Member.Name)
{
case "Date": return $"({left})::date";
case "TimeOfDay": return $"(extract(epoch from ({left})::time)*1000000)";
case "TimeOfDay": return $"extract(epoch from ({left})::time)";
case "DayOfWeek": return $"extract(dow from ({left})::timestamp)";
case "Day": return $"extract(day from ({left})::timestamp)";
case "DayOfYear": return $"extract(doy from ({left})::timestamp)";
@@ -544,8 +544,7 @@ namespace FreeSql.KingbaseES
case "Subtract":
switch ((exp.Arguments[0].Type.IsNullableType() ? exp.Arguments[0].Type.GetGenericArguments().FirstOrDefault() : exp.Arguments[0].Type).FullName)
{
case "System.DateTime": return $"(extract(epoch from ({left})::timestamp-({args1})::timestamp)*1000000)";
case "System.TimeSpan": return $"(({left})::timestamp-((({args1})/1000)||' milliseconds')::interval)";
case "System.DateTime": return $"extract(epoch from ({left})::timestamp-({args1})::timestamp)";
}
break;
case "Equals": return $"({left} = ({args1})::timestamp)";