SQL Server:让星期一成为一周的开始

时间:2017-08-13 16:45:31

标签: sql-server

我有一个问题(作为阅读,不仅仅是我),周日的SQL服务器设置为一周的第一天。但是我的公司需要几个星期来支付周一至周日的时间。我尝试了SET DATEFIRST 1,但它不会影响结果。一个简单的例子:今天是星期天;当我在SQL中输入以下代码时,它会导致第33周,但它应该显示第32周,第33周应该从明天开始:

SET DATEFIRST 1
Select DatePart(week, getdate());

我将登录设置中的语言更改为英式英语,它也不起作用。还有其他方法可以更改设置吗? 在我的大多数查询中,我需要显示上周的结果,并使用类似的where子句:

WHERE Week = (Select DatePart(week, getdate())-1)

如果我不能全局更改设置,那么如何以这种方式转换上部子句,以便显示周一到周日的结果?我是一个SQL初学者,在互联网上搜索答案,但无法调整我的代码。提前谢谢!

1 个答案:

答案 0 :(得分:2)

设置$(document).ajaxSuccess((event, xhr, settings) => { // check if the request is your reload content if(settings.url !== "myReloadedContentCall") { return; } return window .setTimeout(rejs, 100) ; }); function rejs() { const scripts = $('script[src]'); // or, maybe alls but not child of #ajax // const scripts = $('*:not(#ajax) script[src]'); Array .prototype .forEach .call(scripts, (script, index) => { const $script = $(script); const s = $('<script />', { src: $script.attr('src') }); // const s = $script.clone(); // should also work return s .insertAfter($script) .promise() .then(() => $script.remove()) // finally remove it ; }) ; } 后使用DATEPART(ISO_WEEK, ...)。这应遵守ISO周编号,如DATEPART documentation中所述。