--該方法依次類推,可以構造其他有規律的數據集合
--經常遇到的問題
--例如給定一個開始時間,需要計算從開始時間到現在的連續時間
--測試語句
declare @StartTime as datetime
set @StartTime='2005-6-1'
declare @t table(dDate datetime) --計算連續時間
while @StartTime<=getdate()
begin
insert into @t select @StartTime
set @StartTime=Dateadd(day,1,@StartTime)
end
--測試結果
dDate
------------------------------------------------------
2005-06-01 00:00:00.000
2005-06-02 00:00:00.000
2005-06-03 00:00:00.000
2005-06-04 00:00:00.000
2005-06-05 00:00:00.000
2005-06-06 00:00:00.000
2005-06-07 00:00:00.000
2005-06-08 00:00:00.000
2005-06-09 00:00:00.000
2005-06-10 00:00:00.000
2005-06-11 00:00:00.000
2005-06-12 00:00:00.000
2005-06-13 00:00:00.000
2005-06-14 00:00:00.000
2005-06-15 00:00:00.000
2005-06-16 00:00:00.000
2005-06-17 00:00:00.000
2005-06-18 00:00:00.000
2005-06-19 00:00:00.000
2005-06-20 00:00:00.000
2005-06-21 00:00:00.000
2005-06-22 00:00:00.000
2005-06-23 00:00:00.000
2005-06-24 00:00:00.000
2005-06-25 00:00:00.000
2005-06-26 00:00:00.000
2005-06-27 00:00:00.000
2005-06-28 00:00:00.000
2005-06-29 00:00:00.000
2005-06-30 00:00:00.000
2005-07-01 00:00:00.000
(所影響的行數為 31 行)