所以这是我的情景。 如果它是2016年的第20周,我需要知道它是2016年5月8日。这与周剩余时间一致。整个星期都一样。
Week# WeekDate
29 7/10/2016 0:00
30 7/17/2016 0:00
28 7/3/2016 0:00
31 7/24/2016 0:00
32 7/31/2016 0:00
33 8/7/2016 0:00
34 8/14/2016 0:00
答案 0 :(得分:1)
dateadd(DAY,-(datepart(weekday,DATEADD(WEEK,30-1,CAST('2016'||'-1-1' AS DATE)))-1),DATEADD(WEEK,30-1,CAST('2016'||'-1-1' AS DATE)))
这适用于Intersystems。您必须使用已知年份值构建自己的日期,并将“30”替换为表中已知的周值
答案 1 :(得分:0)
感谢您的贡献,我做了类似下面的事情并且它有效。这使星期日成为一周的第一天。
如果您想使用星期一或星期二,请在下面的WeekNum计算中添加+ 2,+ 3.
DATE(SampleTableWithDate.Year],1,1) - WEEKDAY(DATE(SampleTableWithDate.Year,1,1),1) + (WEEKNUM(SampleTableWithDate.Date)-1)*7 + 1
Find the First Date of this Year - First Day of Week This Year + Add Weeks till Date