sqlserver通过select查询出连续的日历临时表

首先我们需要用到这个

select * FROM master..spt_values n WHERE n.type = 'p' AND n.number <= 7

里面分几个列,我们需要连续的,所有就需要用到number列

SELECT CONVERT (varchar(100),dateadd(d, number, dateadd(d, -30, GETDATE())),23) AS every_time
FROM master..spt_values
WHERE type = 'p' AND number between 1 and 30

SELECT CONVERT (VARCHAR (7),dateadd(m, number, dateadd(m, -11, GETDATE())),120) AS every_time
FROM master..spt_values n
WHERE n.type = 'p' AND n.number <= 11

  

  

number的值是从0开始的,所以我们先算出来起始日期:

select dateadd(m, -11, GETDATE())

然后通过CONVERT转换成我们需要的日期格式

SELECT CONVERT (varchar(100),dateadd(d, number, dateadd(d, -30, GETDATE())),23) AS every_timeFROM master..spt_valuesWHERE type = 'p' AND number between 1 and 30

posted @ 2019-08-27 09:25  苦逼的猿人  阅读(808)  评论(0编辑  收藏  举报