【问题标题】:Equivalent of UNIX_TIMESTAMP function for H2 DB?等效于 H2 DB 的 UNIX_TIMESTAMP 函数?
【发布时间】:2018-11-26 03:13:57
【问题描述】:

有没有人知道 MySQL 的 UNIX_TIMESTAMP(time_val) 的 H2 的任何适当替代品,这样在 JDBC 时间戳上应用该函数会返回一个从 1970 年 1 月 1 日 00:00:00 开始的 unix 纪元?

【问题讨论】:

标签: mysql h2 unix-timestamp


【解决方案1】:
DATEDIFF('SECOND', DATE '1970-01-01', CURRENT_TIMESTAMP())

在这里回答:CURRENT_TIMESTAMP in milliseconds in h2

或在这里:https://gitlab.com/romain.rinie/h2database/issues/211

【讨论】:

  • 我已经尝试过了,但它似乎并不准确 - 结果与实际的 Unix 时间戳之间存在微小差异。
【解决方案2】:

我尝试了其他答案,但结果不准确。在另一个答案中,我得到了本地时区的时间戳(在我的情况下为 GMT+3),因此它与 Unix 时间戳(以毫秒为单位)不同。在我的回答中,我得到了 UTC 的结果。

这将为您提供正确的当前 UNIX 纪元:

SELECT EXTRACT (EPOCH from CURRENT_TIMESTAMP())

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
  • 感谢您的反馈 - 我已编辑答案以提供更多上下文。
猜你喜欢
  • 2011-01-01
  • 1970-01-01
  • 2011-05-21
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2016-01-08
相关资源
最近更新 更多