如何在SQL Server中获取特定日期的星期开始日期?

时间:2019-03-05 04:40:19

标签: sql sql-server

'10 / 10/2018'是给定的日期,我想根据日历找到该日期所在的星期开始日期。

3 个答案:

答案 0 :(得分:0)

您可以像下面这样获得一周的第一天。

 declare @inputdate date='10/10/2018'
 select DATEADD(dd, -(DATEPART(dw, @inputdate)-1), @inputdate) [WeekStart]

如果要将一周的第一天更改为特定日期,可以使用SET DATEFIRST

SET DATEFIRST 7
declare @inputdate date='10/10/2018'
select DATEADD(dd, -(DATEPART(dw, @inputdate)-1), @inputdate) [WeekStart]

SET DATEFIRST

答案 1 :(得分:0)

您可以在下面尝试-

select DATEADD(dd, -(DATEPART(dw, '10/10/2018)-1), '10/10/2018)

答案 2 :(得分:0)

请尝试以下查询:

SELECT DATEADD(DAY, 2 - DATEPART(WEEKDAY, '10/10/2018' ), CAST('10/10/2018' AS DATE)) [Week_Start_Date]