第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在TSQL中生成遞增日期的結(jié)果集

在TSQL中生成遞增日期的結(jié)果集

叮當(dāng)貓咪 2019-10-11 10:44:46
考慮需要?jiǎng)?chuàng)建日期結(jié)果集。我們有開始和結(jié)束日期,我們想生成一個(gè)介于兩者之間的日期列表。DECLARE  @Start datetime         ,@End  datetimeDECLARE @AllDates table        (@Date datetime)SELECT @Start = 'Mar 1 2009', @End = 'Aug 1 2009'--need to fill @AllDates. Trying to avoid looping. -- Surely if a better solution exists.考慮帶有WHILE循環(huán)的當(dāng)前實(shí)現(xiàn):DECLARE @dCounter datetimeSELECT @dCounter = @StartWHILE @dCounter <= @EndBEGIN INSERT INTO @AllDates VALUES (@dCounter) SELECT @dCounter=@dCounter+1 END問題:如何使用T-SQL創(chuàng)建一組在用戶定義范圍內(nèi)的日期?假設(shè)使用SQL 2005+。如果您的答案使用的是SQL 2008功能,請(qǐng)標(biāo)記為此類。
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

為了使這種方法起作用,您需要執(zhí)行以下時(shí)間表設(shè)置:


SELECT TOP 10000 IDENTITY(int,1,1) AS Number

    INTO Numbers

    FROM sys.objects s1

    CROSS JOIN sys.objects s2

ALTER TABLE Numbers ADD CONSTRAINT PK_Numbers PRIMARY KEY CLUSTERED (Number)

設(shè)置數(shù)字表后,請(qǐng)使用以下查詢:


SELECT

    @Start+Number-1

    FROM Numbers

    WHERE Number<=DATEDIFF(day,@Start,@End)+1

捕捉它們:


DECLARE  @Start datetime

         ,@End  datetime

DECLARE @AllDates table

        (Date datetime)


SELECT @Start = 'Mar 1 2009', @End = 'Aug 1 2009'


INSERT INTO @AllDates

        (Date)

    SELECT

        @Start+Number-1

        FROM Numbers

        WHERE Number<=DATEDIFF(day,@Start,@End)+1


SELECT * FROM @AllDates

輸出:


Date

-----------------------

2009-03-01 00:00:00.000

2009-03-02 00:00:00.000

2009-03-03 00:00:00.000

2009-03-04 00:00:00.000

2009-03-05 00:00:00.000

2009-03-06 00:00:00.000

2009-03-07 00:00:00.000

2009-03-08 00:00:00.000

2009-03-09 00:00:00.000

2009-03-10 00:00:00.000

....

2009-07-25 00:00:00.000

2009-07-26 00:00:00.000

2009-07-27 00:00:00.000

2009-07-28 00:00:00.000

2009-07-29 00:00:00.000

2009-07-30 00:00:00.000

2009-07-31 00:00:00.000

2009-08-01 00:00:00.000


(154 row(s) affected)


查看完整回答
反對(duì) 回復(fù) 2019-10-11
  • 3 回答
  • 0 關(guān)注
  • 751 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)