SQL Server 2008 周数转换为实际日期



我的一个数据库表中有一列标记为周。我正在使用sisense处理一些视觉效果,如果我有一个实际日期而不是周数和月/年,事情会变得容易得多。我的目标是创建一个具有转换值的新列(第 # 1 周,2019 年 1 月转换为 2018 年 12 月 31 日/12-31-18 * 星期一将是一周的开始日 *(。

希望这是有道理的,因为我不善于解释事情

我不是 100% 需要什么信息,因为我只是使用一个通用示例,但我非常乐意尝试在合理范围内提供您可能需要的任何东西

我的链接不能直接解决您的问题,但它向您展示了如何将周数转换为日期。如果您需要将值"周#1,1月,2019"转换为日期,则可以使用以下示例:

declare @yw varchar(25) = 'week # 1, January, 2019'
declare @y char(4)=RIGHT(@yw,4)
declare @wnum int=SUBSTRING(@yw,8,CHARINDEX(',',@yw,0)-8)
select  dateadd(week,@wnum-1, DATEADD(wk, DATEDIFF(wk,-1,DATEADD(yy, DATEDIFF(yy,0,@y+'-01-01'), 0)), 0))

要将值转换为表,只需将变量名称替换为列名称

最新更新