Sql Server 生成連續日期的方法總結

2021-07-09 22:23:35 字數 2177 閱讀 3310

第一種,利用master..spt_values來生成連續日期

[sql]view plain

copy

print

?declare

@date

datetime  

set@

date

='2009-02-05'

select

[day

]=convert

(varchar

,dateadd(mm,datediff(mm,0,@

date

),0)+number,121)  

from

master..spt_values  

where

type=

'p'and

number

date

,dateadd(mm,1,@

date

))

name

="code"

class=

"sql"

>

--輸出2023年至今以來的月份列表:

create

table

mon  

(  id int

identity(1,1),  

mon varchar

(6)  

)  go  

declare

@beginmonth varchar

(6),  

@endmonth varchar

(6)  

select

@beginmonth='200801'

,  @endmonth='200906'

insert

mon(mon)  

select

convert

(varchar

(6),dateadd(

month

,number,@beginmonth+

'01'

),112)  

from

master..spt_values  

where

type='p'

anddateadd(month

,number,@beginmonth+

'01'

)<=@endmonth+

'01'

select

* from

mon  

drop

table

mon  

這是利用表master..sp_values查詢連續數字的,但是範圍要在2048以內,不包括2048

[sql]view plain

copy

print

?select

number 

from

master..spt_values  

where

type=

'p'and

number 

between

1 and

1000  

第二種,直接生成連續日期,表temptab(date) 只是臨時表

[sql]view plain

copy

print

?declare

@mindate datetime  

declare

@maxdate datetime  

set@mindate  = 

'2010-01-01'

set@maxdate  = 

'2010-02-01'

;with

temptab(

date

) as

( select

@mindate  

union

allselect

dateadd(d,1,temptab.

date

) as

date

from

temptab  

where

dateadd(d,1,temptab.

date

)<=@maxdate  

)  select

* from

temptab   出處

python 連續輸出日期 我想生成連續的日期

我有這樣的 import time from datetime import date startyear raw input start year startmonth raw input start month startday raw input start day endyear raw i...

Excel 中連續生成開始日期和結束日期之間的日期

excel 中連續生成開始日期和結束日期之間的日期,在乙個單元格中有開始日期,另外乙個單元格中有結束日期時,想通過 excel 已有的函式,自動生成兩者之間的日期,我們大概知道,肯定是最經典的拖拉功能,就像生成連續數字那樣,好的,那我們開始嘗試一下。為了試驗方便,我們打算連續生成 2015 11 1...

Sqlserver儲存過程生成日期維度

話不多說,之前已經有一篇日誌是利用oracle的儲存過程生成日期維度表,接下來我們就用sqlserver來實現這個操作,如下面的步驟所示 1 建立日期維度表 dim time use dw go object table dbo dim time script date 12 19 2015 15 ...