相关疑难解决方法(0)

获取SQL Server中的第一天

我试图按周分组记录,将汇总日期存储为一周的第一天.但是,我用于舍入日期的标准技术似乎在几周内没有正常工作(尽管它确实存在了几天,几个月,几年,几个季度以及我应用它的任何其他时间范围).

这是SQL:

select "start_of_week" = dateadd(week, datediff(week, 0, getdate()), 0);
Run Code Online (Sandbox Code Playgroud)

返回2011-08-22 00:00:00.000,这是星期一,而不是星期日.选择@@datefirst返回7,这是星期日的代码,所以据我所知,服务器设置正确.

通过将上面的代码更改为:我可以轻松地绕过这个:

select "start_of_week" = dateadd(week, datediff(week, 0, getdate()), -1);
Run Code Online (Sandbox Code Playgroud)

但事实上,我必须做出这样的例外让我有点不安.此外,如果这是一个重复的问题,请道歉.我发现了一些相关问题,但没有一个专门解决这个问题.

t-sql sql-server date sql-server-2008

88
推荐指数
5
解决办法
18万
查看次数

标签 统计

date ×1

sql-server ×1

sql-server-2008 ×1

t-sql ×1