首页 > Linux操作系统 > Linux操作系统 > 计算2个日期间的所有日期
今天看到有网友提了这个问题:
业务需求: 已知2个日期,分别为2012-11-7、2012-11-10
实现结果:要求列出2012-11-7和2012-11-10 日期段内所有日期
即:
2012-11-7
2012-11-8
2012-11-9
2012-11-10
这类问题,可以考虑用SQL递归查询来实现。
with qa as (
select CAST('2012-1-1' as datetime) qdate
union all
select DATEADD(day,1,qdate) from qa where qdate<'2012-1-31'
) select * from qa
上面是含时间的,下面只显示日期。
with qa as (
select CAST('2012-1-1' as date) qdate
union all
select DATEADD(day,1,qdate) from qa where qdate<'2012-1-31'
) select * from qa
原贴:
http://www.itpub.net/thread-1737226-1-1.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/81227/viewspace-748768/ ,如需转载,请注明出处,否则将追究法律责任。