0

假设我有一个名为 Test 的表。测试有一个名为 CreatedDate 的列。这是创建行时的 DateTimeOffset。测试还有一个名为 ExternalDate 的列。这是通过 API 外部提供的时间。

我需要做的是计算 CreatedDate 和 ExternalDate 之间的差异。CreatedDate 是 DateTimeOffset,但 ExternalDate 始终提供为 DateTime2。提供此时间的外部系统不提供偏移或时区数据。

所以我们可以在这里看到,如果我们在 DST 中或不在一个小时内,计算可能会关闭。

不幸的是,我们正在使用 SQL2008。

我正在考虑创建一个 DST 日期表,并在迁移约会时执行连接以解决此问题,如此处另一个线程中所述。所以历史迁移是可以的。(其他线程:将 SQL 存储的 DateTime 值迁移到 DateTimeOffset 最佳实践?

问题是,我将继续让外部系统在 DateTime2 中发送没有偏移值。我担心如果我使用同一个 DST 表的连接进行即时计算,可能会影响性能?我对 SQL 性能不太熟悉。那里的 SQL 专家对此有何看法?还是有其他更有效的方法可以即时执行此操作?

谢谢!非常感激!

4

0 回答 0