SQL Server 獲取日曆列表

2021-10-11 14:39:03 字數 1185 閱讀 6766

需求:報表需要把未有資料的日期也顯示出來。

需要一張日曆表和資料表:日曆表 left join 資料表,則可以實現。

問題是,日曆表怎麼生成呢?其實只需要有一張連續數字的表就可以生成日曆表。

方案一:通過系統內部表 master…spt_values

方案二:自定義日曆表

方案一:

select

convert

(varchar

(100

),dateadd(d, number, getdate()-

14),23

)as cad_date

from

master.dbo.spt_values n

where

n.type

='p'

and n.number <=

14

方案二:通過select和union all 來 生成連續數字表,從而得出日期

select

convert

(varchar

(100

),dateadd(d, number, getdate()-

14),23

)as cad_date

from

(select d.number

from

(select

1as number union

allselect

2union

allselect

3union

allselect

4union

allselect

5union

allselect

6union

allselect

7union

allselect

8union

allselect

9union

allselect

10union

allselect

11union

allselect

12union

allselect

13union

allselect14)

as d) n

where

n.number <=

14

建立日曆和日期列表

以下是一段建立datetime集合的指令碼片段。只需要指定年和月,指令碼將會針對該月的每一天建立乙個datetime物件 month 8 year 2013 1.datetime daysinmonth year,month foreach object 這段 十分有用 只要加乙個日期過濾器,您就可...

SQL server自動建立日曆表。

做 功能需要統計每個月的上班天數,節假日因為每年的日期都不一樣,所以需要自己手動更新這些節假日 1 首先先自動建立乙個日曆表,選擇開始年月日和結束的年月日 不要同時執行,先執行建立表之後 create table dbo time dimension time id int identity 1,1...

iOS swift 獲取日曆日期差

明天凌晨時間 let components nscalendar current.datecomponents set calendar component init arrayliteral year,month,day from date 今天凌晨date let todaystart nsca...