获取'Week Of'日期开始日期



我有一个名为"AirDate"的字段,其格式为mm/dd/yyyy。我想创建一个"WeekOf"字段,该字段使用AirDate字段将星期二作为一周的开始,为我提供week of日期。

AirDate=11/11/2019,WeekOf=11/15/2019

AirDate=11/12/2019,WeekOf=11/12/2018

播出日期=2019年11月13日,每周=2019年12月11日等

编写查询以返回此格式的"WeekOf"日期的正确方法是什么?

sql server您可以使用datefirst设置tuesday。参见文件

set datefirst 2
select wkTuesday = dateadd(dd, (-1)* (datepart(dw,'11/11/2019')-1), '11/11/2019')
set datefirst 7

试试这个

并将getdate((替换为您想要的日期

SELECT dateadd(dd, (-1 * DATEPART(WEEKDAY, getdate())) + 1, getdate())

编辑

declare @YourDate date = '19 NOv 2019'
declare @DayNo int
SET @DayNo = CASE WHEN DATEPART(WEEKDAY, @YourDate) < 3 THEN DATEPART(WEEKDAY, @YourDate) + 5 ELSE DATEPART(WEEKDAY, @YourDate) - 2 END

SELECT 'AirDate = ' + cast(@YourDate as varchar(100)) + ' , WeekOf = ' + cast( dateadd(dd, (-1 * @DayNo) + 1, @YourDate) as varchar(100))

最新更新