дата

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Ответить
grebenyukov
Сообщения: 1
Зарегистрирован: 29 мар 2005, 17:49

дата

Сообщение grebenyukov »

Подскажите, как решить такую проблему:
Галактика 5.82 на Оракле. Нужно другим приложением извлечь из базы некоторые данные.
В таблице sklorder по идее должно быть поле dord типа дата.
Однако, физически в таблице есть поле FDORD типа NUMBER(10), где дата представлена или в виде ссылки на какой-то словарь, или во внутреннем формате, например, "131072257"
Как это преобразовать в нормальную дату?
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: дата

Сообщение ALEKS123 »

Насколько я понимаю, в поле стоит число дней с 1 января 1 года (от рождения Христова)
Попробуй функцию FROM_DAYS - перевод указанного кол-ва дней в дату.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: дата

Сообщение m0p3e »

Только не от рождества, а от 1.01.1900. Кажется... :)
Kuporos
Сообщения: 4
Зарегистрирован: 29 мар 2005, 17:49

Re: дата

Сообщение Kuporos »

Там у схемы есть ф-ции TO_ORADATE,TO_ORATIME.
igornov
Постоянный гость
Сообщения: 70
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина ИВЦ при Ингулецком ГОКе
Контактная информация:

Re: дата

Сообщение 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)

думаю для оракла это тоже пойдёт. ;)
igornov
Постоянный гость
Сообщения: 70
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина ИВЦ при Ингулецком ГОКе
Контактная информация:

Re: дата

Сообщение igornov »

если надо могу и раскодировку времени кинуть... :)
andreyedemsky
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Московская обл. Центртелеком, ПУЭС

Re: дата

Сообщение 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>
Ответить