解决方法
以下内容适用于您考虑的一周中的第一天(星期日,星期一等),如果您想要更改默认值,请确保使用SET DATEFIRST. SET DATEFIRST 1将成为星期一的第一天.
SELECT DATEADD(DAY,1 - DATEPART(WEEKDAY,GETDATE()),CAST(GETDATE() AS DATE)) [WeekStart],DATEADD(DAY,7 - DATEPART(WEEKDAY,CAST(GETDATE() AS DATE)) [WeekEnd]
编辑
我刚刚重新阅读了您的请求,我认为您可能会追求与上述内容不同的内容.如果你想要一个月的第一天和最后一周的这一天,这将有助于:
SELECT DATENAME(WEEKDAY,1 - DATEPART(DAY,GETDATE())) [FirstDayOfMonth],DATENAME(WEEKDAY,- DATEPART(DAY,DATEADD(MONTH,1,GETDATE())),GETDATE()))) [LastDayOfMonth]