HANA:为什么时间戳列会截断毫秒并包含时区?

时间:2018-11-01 07:34:55

标签: hana

我正在使用HANA DB,我很困惑为什么从时间戳列中截断了毫秒。

这是我的表创建语句:

create table test (
  timestamp TIMESTAMP  NOT NULL,
  name VARCHAR(255) NOT NULL
);

时间戳列中的值遵循以下格式:

Wed Oct31 2018 06:24:42 GMT+0000(UTC)

我希望精度至少为3毫秒

感谢您的时间

1 个答案:

答案 0 :(得分:1)

SAP HANA时间戳数据类型最多支持7个小数秒位数。但是,它不存储有关时区的任何信息。

您发布的打印输出已由某些SAP HANA客户端程序呈现。 该客户端程序呈现时间戳的格式(在HANA中,它实际上只是一个数字)。看起来,该客户端不会呈现小数秒,而是会添加时区信息(显然默认为UTC)。

通过将时间戳数据转换为您喜欢的文本表示形式,可以避免默认显示日期/时间列。

if 'In' in result:

应显示时间戳,包括小数秒。

时间戳格式转换的整个主题可能会涉及很多。

如果您的数据库客户端恰好是SAP HANA Studio,则可能需要检查此blog post,以了解OS会话的LOCALE如何影响格式。 other post详细介绍了时区处理。