我试图将SQL Server中的星期数(例如: 21 )转换为 dd/MM 格式的日期(从该周的星期一开始)。

我已经在网上搜索过,但似乎找不到可以使用的任何内容。

我可以这样做吗?

任何帮助或建议,不胜感激。

提前谢谢。

最佳答案

试试这个,

declare @wk int  set @wk = 21
declare @yr int  set @yr = 2016

select dateadd (week, @wk-1, dateadd (year, @yr-1900, 0)) - 4 -
       datepart(dw, dateadd (week, @wk-1, dateadd (year, @yr-1900, 0)) - 4) + 1

或尝试这种方式
declare @wk int  = 21

select dateadd(week,@wk-1, DATEADD(wk, DATEDIFF(wk,-1,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)), 0))

关于SQL将周数转换为日期(dd/MM),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37480952/

10-09 22:55