【发布时间】:2018-03-18 07:40:43
【问题描述】:
我在 SQL Server 表中有一些数据,如下所示:
DateTime Bid Ask
02/10/2017 09:59.323 123.111 123.894
02/10/2017 10:01.432 123.321 124.001
02/10/2017 10:03.132 123.421 124.121
02/10/2017 10:03.983 123.121 123.721
02/10/2017 10:04.342 123.587 124.200
我想查询的是每隔一个时间段的出价和要价值是多少。例如在:
- 10:00.000 买入价为 123.111,卖出价为 123.894
- 10:01.000 买入价为 123.111,卖出价为 123.894
- 10:02.000 买入价为 123.321,卖出价为 124.001
- 10:03.000 买入价为 123.321,卖出价为 124.001
- 10:04.000 买入价为 123.121,卖出价为 123.721
因此,SQL 需要在每一秒值之前返回 Date Time 的 Bid 和 Ask 值。
例如:
- 10:00.000 使用 09:59.323
- 10:01.000 使用 09:59.323
- 10:02.000 使用 10:01.432
- 10:03.000 使用 10:01.432
- 10:04.000 使用 10:03.983
我的查询将返回开始和结束日期/时间之间的值,因此它将返回多行。
【问题讨论】:
-
您是否有要使用的第二个日期/时间值的表格?还是生成该列表是问题的一部分?
-
我没有存储第二个值的表(例如 10:00.000、10:01.000、10:02.000 等),因为可能存储了数年的日期。所以我认为应该生成列表。但我会知道显示值之间的日期/时间
-
我们如何知道要在列表中使用什么范围?而
10:01.000并不是一个很好的时间参考。它有小时 (10)、分钟 (:01) 和毫秒 (.000)。它完全跳过秒部分,并且 Sql Server 为您帖子中的每个时间戳使用隐含的 0 值作为秒数。你确定不想要这个:10:00:01.000?
标签: sql sql-server tsql