国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server 某些條件下求某日的日期

2024-08-31 00:50:43
字體:
來源:轉載
供稿:網友

/*需要得結果: 某一天的日期
已知條件: 這天的年,月,星期幾,在這個月中處于第幾周

舉例說明:  希望求出2004-11-22
已知條件: 2004年,  11 月,  星期一 ,這天在11月是第四周

declare @year numeric(4),@month numeric(2),@weekday varchar(6),@week numeric(1)
set @year=2004
set @month=11
set @weekday='星期一'
set @week=4
*/

alter function RequestDate
 (@year numeric(4),@month numeric(2),@weekday varchar(6),@week numeric(1))
returns datetime as 
begin

declare @date1 varchar(10) --得到該月的第一天的日期
declare @month1 varchar(2)

if @month<10
 set @month1='0'+ltrim(rtrim(str(@month)))
else
 set @month1=ltrim(rtrim(str(@month)))

set @date1=ltrim(rtrim(str(@year))) + '-' + @month1+ '-' + '01'

declare @num1 numeric(3)
declare @num2 numeric(3)
declare @num3 numeric(3)
set @num1=datepart(ww,@date1)  --得到該月的第一天在該年的周數
set @num1=@num1+@week-2 --得到該月的要求得的那天所在的周數與該年的第一周第一天的周數差

set @num2=datepart(dw,dateadd(ww,@num1,'2004-01-01')) --得到日期對應的星期代號

select @num3=case @weekday
 when '星期日' then 1
 when '星期一' then 2
 when '星期二' then 3
 when '星期三' then 4
 when '星期四' then 5
 when '星期五' then 6
 when '星期六' then 7
end

return dateadd(dd,@num3-datepart(dw,dateadd(ww,@num1,'2004-01-01')),dateadd(ww,@num1,'2004-01-01'))

end


--  select dbo.RequestDate(2004,11,'星期一',4)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥江县| 凤阳县| 宽城| 阿尔山市| 山丹县| 大余县| 星子县| 长海县| 巴青县| 内乡县| 包头市| 荆门市| 龙州县| 江油市| 堆龙德庆县| 井冈山市| 齐齐哈尔市| 新丰县| 兴宁市| 淳化县| 介休市| 千阳县| 宣城市| 廉江市| 渭南市| 循化| 左云县| 遂平县| 绍兴县| 台江县| 海门市| 晴隆县| 凤凰县| 陆河县| 即墨市| 岳池县| 吴堡县| 青冈县| 东乌珠穆沁旗| 专栏| 竹山县|