欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
一個(gè)有意思的問(wèn)題:如何根據一年中的第幾周,查詢(xún)出它周六和周日對應的日期

一個(gè)有意思的問(wèn)題:如何根據一年中的第幾周,查詢(xún)出它周六和周日對應的日期在SQL 2005&SQL2008實(shí)現這一功能,首先要了解在MSSQL,一年中周的描述。

 

           圖1

1.周的第一天,在MSSQL中,可以通過(guò)下面的值來(lái)描述周的第一天: 

美國英語(yǔ)中默認7為一周中的第一天。

通過(guò)@@Datefirst函數獲取當前周的第一天:

Select @@Datefirst As [周的第一天]

 

 2. 2011-01-01所在的周


Select '2010-12-31' AS [日期],Datepart(week,'20101231'As [] Union All
Select '2011-01-01',Datepart(week,'20110101'Union All
Select '2011-01-02',Datepart(week,'20110102'Union All
Select '2011-01-03',Datepart(week,'20110103')

 

從這里可以看出,2011-01-01是屬于2011年的第1周,2011-01-02就是第2周了 。

 

了解完上面兩點(diǎn)內容描述,回到題目問(wèn)題,這里取個(gè)案例,如要找第16周的周六日對應的日期,

3.按日歷圖找出第16周

Select Dateadd(week,16-1,'20110101'[2011-01-01過(guò)15周后對應的日期]

 

 

 

 這里可以看出第16周,是從2011-04-10至2011-04-16,周六日日期是2011-04-1 & 2011-04-16

4.找出周六日出現在日歷圖中的規律

 為了更能簡(jiǎn)潔的說(shuō)明,周六日在日歷圖(1-7位置)出現的規律,這里特別制作一些圖形來(lái)描述:

 

 接下來(lái),就周六日出現的位置,進(jìn)行分析:

 

 

 從上面的圖,可以簡(jiǎn)單分析出下面的算式:

 

 

從上面周六、周日位置的變化,可以觀(guān)察出,無(wú)論如何,周六日位置都是在N1-N7之間,

 

當周的第一天為7,周六的位置變成了N7.這里可以假設,當@@Datefirst=7,周六的等式:

 

N1(D)+x+(6-7)=N1(D)+6    //x表示未知,N1(D)+6表示,當@@Datefirst=7,周的第一個(gè)日期+6天就等于周六的日期

 

x+(6-7)=+6

x=7

這里就可以得出,當@@Datefirst=7,周六的算式:N1(D)+7+(6-7)

 

 

分析周六日的算式,可以得出,

周六:If 6>=@@Datefirst Then N1(D)+0+(6-@@Datefirst) Else N1(D)+7+(6-@@Datefirs)

 

周日:If 7>=@@Datefirst Then N1(D)+0+(7-@@Datefirst) Else N1(D)+7+(7-@@Datefirs)

 

 為了更能說(shuō)明變化的規律,再看看下面周四的情況:

 

 這里周四的位置變化,如傾斜的"N"字母,套用前面的算式可以得到:

 

 

 好了,接下來(lái),很容易根據一年中的第幾周,查詢(xún)出它周六和周日對應的日期了

 

Declare @Week smallint,
        
@Date datetime

Set datefirst 7 /* 設置周的第一天 */

Set @Week=16 /* 第幾周 */

Set @Date=Dateadd(week,@Week-1,rtrim(year(getdate()))+'0101')-datepart(dw,rtrim(year(getdate()))+'0101')+1 /* 算出第16周的第一個(gè)日期 */

Select    @Week As [],
        
@Date+Case When 6>=@@datefirst Then 6-@@datefirst Else 7+(6-@@datefirstEnd As [星期六],
        
@Date+Case When 7>=@@datefirst Then 7-@@datefirst Else 7+(7-@@datefirstEnd As [星期日]

---另外一個(gè)不用Case的寫(xiě)法:
Select    @Week As [],
        
@Date+7*Sign(1-Sign(6-@@datefirst+1))+(6-@@datefirstAs [星期六],
        
@Date+7*Sign(1-Sign(7-@@datefirst+1))+(7-@@datefirstAs [星期日]

 

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
[Sql Server] 如何解密加密的存儲過(guò)程
5.10 weeknum計算日期是當年的第幾周
迷失日歷時(shí)鐘 1.0
Excel – 本周是今年的第幾周了?這么一算,必須只爭朝夕
統計一年第幾周,WEEKNUM
Excel如何計算當前日期處于一年的第幾周?
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久