我已经发现默认情况下DATEPART
会在周日开始。如果我不能做到这一点,我们将在星期一开始这一周。
我发现要更改开始日我可以使用DATEFIRST 1
,但我不知道如何实现它。
主要是因为每当我在这里看到SQL代码时,它就会形成如下所示。
SELECT
date, name
FROM
Column
WHERE
date = @0
但我这样做
var query = "SELECT date, name FROM Column WHERE date = @0";
只是一个例子。
我真的不知道如何使用我的示例的第一个版本,因此我总是将其转换为我使用它的方式,但是我不确定如何处理SET DATEFIRST 1
以便数据库将使用它并在星期一开始我的周。
我想在以下查询中执行此操作。
var query = "SELECT DATEPART(wk, date) as wknumber, sum((kg * rep * sett)) as weight, sum(kg / max * rep * sett) as avg, sum((rep * sett)) as reps, max(kg / max) as peak FROM Test WHERE date between @0 and @1 AND exercise < 4 GROUP BY DATEPART(wk, date)";
答案 0 :(得分:0)
您可以通过在查询开头添加SET DATEFIRST 1并以分号“;”
分隔来实现此目的。var query = "SET DATEFIRST 1; SELECT ... FROM Column WHERE date = @0";
<强>更新强>: 为什么不直接获取日期并在代码中找到周数