相关疑难解决方法(0)

获取两个日期之间的日期列表

使用标准的mysql函数有一种方法来编写一个查询,该查询将返回两个日期之间的天数列表.

例如,给定2009-01-01和2009-01-13,它将返回一个包含值的列表:

 2009-01-01 
 2009-01-02 
 2009-01-03
 2009-01-04 
 2009-01-05
 2009-01-06
 2009-01-07
 2009-01-08 
 2009-01-09
 2009-01-10
 2009-01-11
 2009-01-12
 2009-01-13
Run Code Online (Sandbox Code Playgroud)

编辑:看来我还不清楚.我想生成这个列表.我有值存储在数据库中(按日期时间),但是希望它们在左外连接上聚合到上面的日期列表中(我希望在某些连接的右侧有一段时间为null并且会处理这个).

mysql sql date gaps-and-islands

87
推荐指数
6
解决办法
13万
查看次数

使用函数获取两个日期之间的日期列表

我的问题类似于这个 MySQL问题,但是用于SQL Server:

是否有函数或查询将返回两个日期之间的天数列表?例如,假设有一个名为ExplodeDates的函数:

SELECT ExplodeDates('2010-01-01', '2010-01-13');
Run Code Online (Sandbox Code Playgroud)

这将返回一个包含以下值的列表:

2010-01-01
2010-01-02
2010-01-03
2010-01-04
2010-01-05
2010-01-06
2010-01-07
2010-01-08
2010-01-09
2010-01-10
2010-01-11
2010-01-12
2010-01-13
Run Code Online (Sandbox Code Playgroud)

我认为日历/数字表可能能够帮助我.


更新

我决定查看提供的三个代码答案,执行结果 - 占总批次的百分比 - 是:

越低越好

我已经接受了Rob Farley的答案,因为它是最快的,尽管数字表解决方案(KM和StingyJack在他们的答案中使用)都是我的最爱.Rob Farley的速度提高了三分之二.

更新2

阿丽维亚的答案更为简洁.我已经改变了接受的答案.

sql-server date

69
推荐指数
4
解决办法
15万
查看次数

标签 统计

date ×2

gaps-and-islands ×1

mysql ×1

sql ×1

sql-server ×1