學習使用master.dbo.spt_values表


如果要生成的臨時表中有個連續的數字列,或者連續的日期列,如下所示:

2012-1-1

2012-1-2

2012-1-3

... ...

可以這樣寫:

declare @begin datetime,@end datetime
set @begin='2012-1-1'
set @end='2012-1-5'

declare @days int
set @days=DATEDIFF(dd,@begin,@end)
select DATEADD(dd,number,@begin)
from master.dbo.spt_values
where type='p' AND number<=@days

 

上面的語句中,@begin與@end可以認為是多外面傳來的兩個參數,我們要求這兩個日期之間的日期序列。

當然,在看上面的代碼之前最好先回顧一下master.dbo.spt_values表的數據。

select * from master.dbo.spt_values

我們使用了其中的type與number兩列。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM