可用如下sql语句:
select convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) day from (select '2015-07'+'-01' day) t1, (select number from MASTER..spt_values WHERE TYPE='P' AND number>=0 and number<=31) t2 where convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) like '2015-07%'
说明:要查询某年某月,只许将语句中的2015-07替换即可。
结果截图:

如果是查询某月某段时间内的连续天数,可以这样写:
SELECT * FROM (
select convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) day from(select '2015-09'+'-01' day) t1,(select number from MASTER..spt_values WHERE TYPE='P' AND number>=0 and number<=31) t2 where convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) like '2015-09%'
) T
WHERE T.day > '2015-09-05' AND T.day < '2015-09-15'
截图如下:

本文介绍了一种使用SQL生成指定月份连续日期的方法,并提供了查询特定日期范围的示例。通过两个SQL查询实例,展示了如何生成一个月份的所有日期以及如何进一步筛选出特定时间段的数据。
1827

被折叠的 条评论
为什么被折叠?



