【发布时间】:2014-11-14 10:46:38
【问题描述】:
我希望标题或多或少没问题,不知道如何描述我的问题。
我想做的是创建一个时间序列,这些日期介于用户可以选择的日期之间,而不是将日期实际保存到表格中。假设现在是 2014 年 11 月 15 日和 2014 年 11 月 16 日,我想查询一下:
[date]
11-15-2014 00:00
11-15-2014 01:00
11-15-2014 02:00
..
11-15-2014 23:00
有没有什么方法可以只通过查询(也可能是包含开始日期的表)来创建这些日期?
我想像这样的事情
SELECT Dateadd('h', i, t1.start_date) as date FROM t1
然后某些部分说“i”将介于 0 和 DateDiff('h', start_date, end_date)
我知道如果有可用的临时变量,这将很容易,不幸的是,MS Access 并非如此。
现在我正在使用一种解决方法,其中我有一个表格,其中包含几年中每个小时的日期值,并且我在其中使用 LEFT JOIN ... WHERE date BETWEEN,但我不喜欢这样“肮脏”的伎俩。
提前致谢!
【问题讨论】:
-
您的“肮脏”技巧实际上是非常正常且很好的解决方案。在几个小时内,您可以使用两个额外的表,而不是单个表 - 第一个表中每天一条记录,另一个表中每天 24 条记录(每小时)。
-
好的,我明白了:)谢谢。