Раздел Oracle Range на основе отметки времени эпохи Unix

Возможно ли разделить таблицу с уникальным столбцом в качестве метки времени, хранящейся в oracle в Unix Epoch format.

Есть много вариантов, которые у нас есть для раздела Oracle, но я хочу знать, как мы можем разделить таблицу, которая имеет временную метку Unix Epoch, хранящуюся на уровне базы данных.

Поскольку на этот столбец есть ссылка во внешнем интерфейсе, мы хотим выполнить разделение диапазона только для этого столбца.

Так выглядит структура таблицы.

Timestamp      number 
Reference id   number
Value          integer

В таблице будут храниться важные данные за один год, а в столбце timestamp будет храниться точная временная метка эпохи unix. Нам было бы интересно разделить таблицу на 12 разделов на основе значений меток времени для каждого месяца.

Вот как мы преобразуем временную метку unix в формат даты, используя sql.

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

person user3493124    schedule 30.09.2014    source источник


Ответы (1)


Я считаю, что Oracle хранит внутренние значения времени таким же образом - количество секунд (дробные части секунд) с полуночи. И точность до наносекунд - timestamp (9). В любом случае не имеет значения, как он хранится внутри. Я бы рекомендовал использовать стандартный тип данных TIMESTAMP. И да, можно построить разделы по столбцу TIMESTAMP

person Rusty    schedule 30.09.2014