如何使用LINQ将存储为int的SQL日期列分组为年月



我在SQL中有一列,其日期值(CreDt(存储为int。

下面的Linq2Sql查询语法将根据CreDt日期对我的表进行分组。即20220109年,这不是我想要的,我想按年份或月份分组。即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。

最新更新