link中OrderBy怎么按照星期排序?DayOfWeeks星期天排在了最前面,怎么回事?

link中OrderBy怎么按照星期排序?DayOfWeeks星期天排在了最前面,怎么回事?

最简单的,你想要从某天开始就是 + 7 - n 再mod7
比如星期天
OrderBy(x => ((int)x.date.DayOfWeek + 6) % 7)

西方国家,星期天认为是一周的第一天

默认情况是星期天为一周的第一天,
但这个设置是可以修改的,所以合理的写法如下:

declare @df int
set @df=@@dateFirst --获取原来设置的哪一天为第一天
set datefirst 1 --设置星期一为第一天

--下面写你的SQL语句
select datepart(dw,getdate()) --星期一,则值为1;星期二,则值为2;...;星期日,则值为7

--恢复原来的设置
set datefirst @df