Страница 1 из 1

дата

Добавлено: 11 апр 2002, 12:52
grebenyukov
Подскажите, как решить такую проблему:
Галактика 5.82 на Оракле. Нужно другим приложением извлечь из базы некоторые данные.
В таблице sklorder по идее должно быть поле dord типа дата.
Однако, физически в таблице есть поле FDORD типа NUMBER(10), где дата представлена или в виде ссылки на какой-то словарь, или во внутреннем формате, например, "131072257"
Как это преобразовать в нормальную дату?

Re: дата

Добавлено: 11 апр 2002, 13:46
ALEKS123
Насколько я понимаю, в поле стоит число дней с 1 января 1 года (от рождения Христова)
Попробуй функцию FROM_DAYS - перевод указанного кол-ва дней в дату.

Re: дата

Добавлено: 11 апр 2002, 18:38
m0p3e
Только не от рождества, а от 1.01.1900. Кажется... :)

Re: дата

Добавлено: 11 апр 2002, 19:57
Kuporos
Там у схемы есть ф-ции TO_ORADATE,TO_ORATIME.

Re: дата

Добавлено: 30 май 2002, 17:33
igornov
вот кусок запроса MS-SQL который возвращает
галактическую дату как строку формата
dd/mm/yyyy

str(convert(int,substring(convert(binary(4),F$ATL_LASTDATE),4,1)),2)+"/"+str(convert(int,substring(convert(binary(4),F$ATL_LASTDATE),3,1)),2)+"/"+str(convert(int,substring(convert(binary(4),F$ATL_LASTDATE),1,2)),4)

думаю для оракла это тоже пойдёт. ;)

Re: дата

Добавлено: 30 май 2002, 17:43
igornov
если надо могу и раскодировку времени кинуть... :)

Re: дата

Добавлено: 31 май 2002, 17:01
andreyedemsky
SQL> select gal.to_oradate(fatl_lastdate)from gal.sklorder where rownum < 5;

GAL.TO_ORADATE(FATL_LASTDATE)
-----------------------------
15.03.2002
15.03.2002
15.03.2002
15.03.2002

SQL>