【问题标题】:Oracle Range partition based on Unix Epoch Timestamp基于 Unix Epoch Timestamp 的 Oracle Range 分区
【发布时间】:2014-09-30 06:54:26
【问题描述】:

我们是否可以对具有唯一列作为时间戳存储在Unix Epoch format 中的oracle 的表进行范围分区。

对于 oracle 分区,我们有很多选项,但我想知道如何对在数据库级别存储 Unix Epoch 时间戳的表进行分区。

由于前端引用了这一列,我们只想对这一列进行范围分区。

这就是表格结构的样子。

Timestamp      number 
Reference id   number
Value          integer

该表将存储一年的关键数据,时间戳列存储确切的 unix 纪元时间戳。我们有兴趣根据每个月的时间戳值将表划分为 12 个分区。

这就是我们使用下面的 sql 将 unix 时间戳转换为日期格式的方式。

select (TO_DATE('1970-01-01','YYYY-MM-DD') + unix_timestamp / 86400000) from dbname;

【问题讨论】:

    标签: sql oracle oracle11g


    【解决方案1】:

    我相信 Oracle 以相同的方式在内部存储时间值 - 自午夜以来的秒数(秒的小数部分)。精度高达纳秒 - 时间戳(9)。无论如何,它如何在内部存储并不重要。我建议使用标准 TIMESTAMP 数据类型。是的,可以在 TIMESTAMP 列上构建分区

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 2023-01-10
      • 2017-07-19
      • 1970-01-01
      相关资源
      最近更新 更多