根据特定的开始和结束月份计算周数,而不是默认的SQL Server开始月份

时间:2012-08-02 12:24:42

标签: sql sql-server sql-server-2008

在我们所知的SQL Server中,它根据当年1月1日到当年12月31日计算周数。

现在我想要的是,我想将这些1月1日和12月31日更改为3月1日和11月30日。基于这些SQL Server应该计算周数。

那么有人可以为我提供SQL脚本吗?

2 个答案:

答案 0 :(得分:5)

虽然您可以使用dateadd和datepart创建非常复杂的表达式,但我建议创建calendar table要简单得多。它可以有一个代表您自定义周数的列,您可以在整个日期范围内精确计算一次,然后它会始终在您的查询中提供,并且更容易排除故障。

答案 1 :(得分:0)

我猜你的问题来自问题posted earlier today关于会计年度的周数。

我在the sqlTeam website上找到了这个链接,可能有点旧,但它很好地解释了所涉及的问题。在搜索和阅读之后,我得出的结论是,最好的方法是涉及日历表的方法,如@AaronBertrand建议