亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示從開始日期到結束日期的周數

顯示從開始日期到結束日期的周數

繁花不似錦 2022-01-07 20:53:00
我想給出開始日期和結束日期作為輸入,我需要這些日期之間的周數列表。例如:如果我給起始日期為 01/11/2019 和結束日期為 14/12/2019,我的輸出將是12345123(因為前 5 個是 11 月的幾周,接下來的 3 個是 12 月的幾周)......讓我們看另一個例子:如果我將開始日期指定為 14/11/2019 并將結束日期指定為 14/12 /2019 我的輸出將是345123(因為前 3 個是 11 月的幾周,接下來的 3 個是 12 月的幾周) ....DECLARE @StartDate AS DATETIMEDECLARE @EndDate AS DATETIMEDECLARE @CurrentDate AS DATETIMESET @StartDate = '2019-11-01'SET @EndDate = '2019-12-14'SET @CurrentDate = @StartDateWHILE (@CurrentDate < @EndDate)BEGINPrint datepart(day, datediff(day, 0, @CurrentDate)/7 * 7)/7 + 1SET @CurrentDate = DATEADD(DAY, 7, @CurrentDate); END
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

你可以試試下面的腳本 -


DECLARE @StartDate AS DATETIME

DECLARE @EndDate AS DATETIME

DECLARE @CurrentDate AS DATETIME

SET @StartDate = '2019-11-01'

SET @EndDate = '2019-12-14'

SET @CurrentDate = @StartDate



WHILE (@CurrentDate < @EndDate)

BEGIN


IF datepart(DD,@CurrentDate) <=7 

BEGIN 

    SET @CurrentDate = DATEADD(DD,-(DATEPART(DD,@CurrentDate)-1),@CurrentDate) 

END 



PRINT datepart(dd,@CurrentDate)/7  +1

SET @CurrentDate = DATEADD(DAY, 7, @CurrentDate); 

END


查看完整回答
反對 回復 2022-01-07
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

請將此用于具有周開始日期和結束日期的連擊結果


DECLARE @StartDate   datetime, 

        @EndDate     datetime, 

        @CurrentDate datetime, 

        @IsTrue      BIT=0 


SET @StartDate = '2019-11-01' 

SET @EndDate = '2019-12-14' 

SET @CurrentDate=@StartDate 


WHILE ( @CurrentDate <= @EndDate ) 

  BEGIN 

      IF( Format(@CurrentDate, 'MM') != Format(@StartDate, 'MM') 

          AND @IsTrue = 0 ) 

        BEGIN 

            SET @CurrentDate=Dateadd(month, Datediff(month, 0, @CurrentDate), 0) 


            PRINT @CurrentDate 


            SET @IsTrue=1 

        END 


      SELECT CONVERT(VARCHAR(20), ( Datepart(week, @CurrentDate) - 

                                    Datepart(week, 

                                    Dateadd(day, 1, Eomonth( 

                                    @CurrentDate, -1))) ) + 1), 

             @CurrentDate, 

             Dateadd(day, 6, @CurrentDate) 


      PRINT( CONVERT(VARCHAR(20), ( Datepart(week, @CurrentDate) - 

                                    Datepart(week, 

                                    Dateadd(day, 1, Eomonth( 

                                    @CurrentDate, -1))) ) + 1) ) 


      SET @CurrentDate = Dateadd(day, 7, @CurrentDate); 

  END 


查看完整回答
反對 回復 2022-01-07
  • 2 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號