一开始解决这个问题的时候就是简单的上网搜了一下,于是第一份错误的语句是这样的:
set DATEFIRST 1
declare @wkfst varchar(10)
set @wkfst = convert(date, dateadd(wk,datediff(wk,0,getdate()),0),120)
select @wkfst
在SQL Server中获取本周一的日期时,需要注意datediff函数默认一周从周日开始。通过设置datefirst 1将一周的第一天设为周一,或者使用其他计算方式,可以得到准确结果。错误示例会导致周日作为一周开始。正确写法可以避免此问题,提供了一种不依赖set datefirst的解决方案。
一开始解决这个问题的时候就是简单的上网搜了一下,于是第一份错误的语句是这样的:
set DATEFIRST 1
declare @wkfst varchar(10)
set @wkfst = convert(date, dateadd(wk,datediff(wk,0,getdate()),0),120)
select @wkfst
7866
2375
7915

被折叠的 条评论
为什么被折叠?
