SQL由已知几几年第几周星期几推出日期,麻烦给个函数

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:56:14
如题
一般可以用系统函数datepart 由日期得到 星期。

--我写的函数如下(凑合着用)
Create Function xfn_GetDate(@YEAR INT,@WEEK INT,@DAY INT)
RETURNS DATETIME
AS
BEGIN
DECLARE @RST DATETIME
SET @RST=CAST( (CAST(@YEAR AS VARCHAR(20))+'-01-01') AS DATETIME)
WHILE @RST<CAST( (CAST(@YEAR AS VARCHAR(20))+'-12-31') AS DATETIME)
BEGIN
IF @WEEK=DATEPART(WW,@RST) AND @DAY=DATEPART(DW,@RST)
RETURN @RST
SET @RST=DATEADD(DD,1,@RST)
END
RETURN @RST
END

说明:@YEAR为年份,@WEEK为第几星期,@DAY为礼拜的第几天

运行
SELECT DBO.xfn_GetDate('2009',6,3)
得到的日期是:2009-02-03 00:00:00.000

我用的方法很粗糙,只是遍历年份的每一天而已..