diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs index ca0ba88c2..09340264a 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs @@ -149,6 +149,7 @@ namespace SqlSugar new KeyValuePair("time",CSharpDataType.TimeSpan), new KeyValuePair("float",CSharpDataType.@decimal), + new KeyValuePair("real",CSharpDataType.@float), new KeyValuePair("blob",CSharpDataType.byteArray), new KeyValuePair("image",CSharpDataType.byteArray), diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs index 80f6d0243..d9aa3caa2 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs @@ -101,6 +101,8 @@ namespace SqlSugar return string.Format("(CAST(TO_CHAR({0},'mi') AS NUMBER))", parameter.MemberName); case DateType.Millisecond: return string.Format("(CAST(TO_CHAR({0},'ff3') AS NUMBER))", parameter.MemberName); + case DateType.Quarter: + return string.Format("(CAST(TO_CHAR({0},'q') AS NUMBER))", parameter.MemberName); case DateType.Weekday: return $" (TO_NUMBER(TO_CHAR({parameter.MemberName}, 'D'))-1) "; case DateType.Day: diff --git a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs index 8425f3796..22feadca2 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs @@ -200,6 +200,10 @@ namespace SqlSugar { format = "ms"; } + if (parameter2.MemberValue.ObjToString() == DateType.Quarter.ToString()) + { + format = "q"; + } if (parameter2.MemberValue.ObjToString() == DateType.Weekday.ToString()) { return $" extract(DOW FROM cast({parameter.MemberName} as TIMESTAMP)) "; diff --git a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs index 14ce0f794..6ff97e560 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs @@ -219,6 +219,8 @@ namespace SqlSugar return string.Format("(CAST(TO_CHAR({0},'mi') AS NUMBER))", parameter.MemberName); case DateType.Millisecond: return string.Format("(CAST(TO_CHAR({0},'ff3') AS NUMBER))", parameter.MemberName); + case DateType.Quarter: + return string.Format("(CAST(TO_CHAR({0},'q') AS NUMBER))", parameter.MemberName); case DateType.Weekday: return $" (TO_NUMBER(TO_CHAR({parameter.MemberName}, 'D'))-1) "; case DateType.Day: diff --git a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs index 11156e260..71b6d0d8f 100644 --- a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs @@ -221,6 +221,10 @@ namespace SqlSugar { format = "ms"; } + if (parameter2.MemberValue.ObjToString() == DateType.Quarter.ToString()) + { + format = "q"; + } if (parameter2.MemberValue.ObjToString() == DateType.Weekday.ToString()) { return $" extract(DOW FROM cast({parameter.MemberName} as TIMESTAMP)) ";