1

TIMESTAMPADD在执行结果并不总是准确的查询时遇到一个奇怪的错误。

示例 #1(不正确):

TIMESTAMPADD(SQL_TSI_SECOND, 1214870399, TIMESTAMP('1970-01-01 00:00:00.000Z'))

回报:2008-07-01 00:59:59.0

它应该是:2008-06-30 23:59:59.0

示例 #2(正确):

TIMESTAMPADD(SQL_TSI_SECOND, 1167609600, TIMESTAMP('1970-01-01 00:00:00.000Z'))

返回:2007-01-01 00:00:00.0这是正确的。

它发生在我大约 10-15% 的查询中(查询我的表时,大量的 unixtime 到时间戳转换)。它总是相同的 1 小时休息。

谢谢

编辑附加信息:

如果我尝试转换,其他示例 unixtimes 显示不正确:

  • 1270508410应该2010-04-06 00:00:10.02010-04-05 23:00:10.0
  • 1304722810应该2011-05-07 00:00:10.02011-05-06 23:00:10.0
  • 1340221507应该2012-06-20 20:45:07.02012-06-20 19:45:07.0

最后一个只是为了表明它不仅与接近午夜时间段的时间戳有关。

4

1 回答 1

0

原来 Splice Machine 对这个问题有自己的公开问题。

联系 Splice Machine 支持时的参考:工单号 DB-4937

于 2017-11-22T16:40:26.820 回答