2014-02-21 3 views
2

Привет, дорогие Java и люди Oracle.Сохранить NUMBER как TIMESTAMP в Oracle

Я использую DBAppender apprender от журнала к Oracle. Для Oracle DBAppender поставляется со скриптом для создания таблицы. Он регистрирует отметки времени до Number(20), так как обычно timespamps имеют 13 длинных цифр (милисекунды), а цифры Oracles принимают только 9 цифр (до нескольких секунд). Поэтому в SQL Developer при выходе я вижу 13 длинных цифр, и это очень непрактично. У меня нет калькулятора в моей голове, чтобы перевести цифры в Date.

Мой вопрос: Есть ли другое решение для хранения timestamp в Oracle как Timestamp вместо NUMBER, так что я могу это увидеть?

ИЛИ

Есть ли способ в SQL Developer, чтобы прочитать эту NUMBER(20) Дата объявления?

спасибо.

Петр

+0

Только одно из советов: перейдите к представлению, которое делает число читаемым для вас. Oracle (и SQL вообще) имеет некоторые нечетные причуды (некоторые имеют смысл, а некоторые нет), когда речь идет о типах даты/времени. Вероятно, это основная причина, по которой logback решил сохранить временную метку как 'NUMBER (20)'. –

+0

Никогда не испытывал «странные причуды» с типами даты и времени Oracle. И я работаю с ними в течение долгого времени. Во всяком случае, используйте встроенный тип данных DATETIME http://docs.oracle.com/cd/E16655_01/server.121/e17209/sql_elements001.htm#SQLRF00203 –

ответ

0

Одно из решений вы можете найти здесь, написанное мной :)

http://jira.qos.ch/browse/LOGBACK-963

Надеется, что это поможет, кто борется с тем же isuue.

Но если кто-либо найдет другое решение, напишите его.