【发布时间】:2013-04-07 09:18:32
【问题描述】:
如何将 1348560343598 等 unix 时间戳值转换为 H2 Timestamp?
我的一个表在BIGINT(19) 列中包含这些unix 时间戳,我需要将它们转换为TIMESTAMP 类型的列。
【问题讨论】:
如何将 1348560343598 等 unix 时间戳值转换为 H2 Timestamp?
我的一个表在BIGINT(19) 列中包含这些unix 时间戳,我需要将它们转换为TIMESTAMP 类型的列。
【问题讨论】:
好的,使用以下公式有效:
select DATEADD('SECOND', 1348560343, DATE '1970-01-01')
记得把时间戳除以1000。用'MILLISECOND'不行,你会得到Numeric value out of range。
【讨论】:
Calendar.add(int field, int amount)的限制,内部使用。由于时区问题,H2 不再将java.util.Calendar 用于大多数日期/时间功能,但在这种情况下仍会使用它。