如何使用 LINQ 将存储为 int 的 SQL 日期列分组为 Year Month
How to group an SQL date column stored as int as Year Month using LINQ
我在 SQL 中有一列,日期值 (CreDt) 存储为 int。
下面的 Linq2Sql 查询语法将按 CreDt 日期对我的 table 进行分组。即 20220109 这不是我想要的,我想按 Year 或 YearMonth 对其进行分组。即 202201
我该怎么做?
var yymm = from p in Order
group p by new { ym = p.CreDt } into d
select new { YearMonth = d.Key.ym};
从数字中删除数字很容易,只需在分组时将日期除以 100 即可。由于整数除法,日期将被截断。
20220109 / 100 = 202201.09
= 202201
group p by new { ym = p.CreDt / 100 } into d
如果要按年份分组,请除以 10000。
我在 SQL 中有一列,日期值 (CreDt) 存储为 int。
下面的 Linq2Sql 查询语法将按 CreDt 日期对我的 table 进行分组。即 20220109 这不是我想要的,我想按 Year 或 YearMonth 对其进行分组。即 202201
我该怎么做?
var yymm = from p in Order
group p by new { ym = p.CreDt } into d
select new { YearMonth = d.Key.ym};
从数字中删除数字很容易,只需在分组时将日期除以 100 即可。由于整数除法,日期将被截断。
20220109 / 100 = 202201.09
= 202201
group p by new { ym = p.CreDt / 100 } into d
如果要按年份分组,请除以 10000。