Конвертировать float в DateTime в базе данных Oracle - PullRequest
1 голос
/ 05 июня 2011

У меня есть таблица Oracle со столбцом, который хранит дату и время в формате с плавающей запятой.Это выглядит так:

40610.389837963 -> should be decoded to 5/11/2011 16:06

40676.2641666667 -> should be decoded to 5/13/2011 6:20

Я знаю закодированное значение и декодированное значение, но я не знаю, как декодировать этот формат с плавающей запятой в «обычное» время даты: -)

Может кто-нибудь объяснить или дать мне ссылку, когда это описано?Любая помощь будет очень ценится

Спасибо заранее.Андрей.

1 Ответ

4 голосов
/ 05 июня 2011

Формат даты / времени у вас тот, который Excel использует в Windows.Если назначить числовой формат ячейке даты в Excel, вы увидите те же числа.Вы также можете поместить число в ячейку Excel и назначить ему формат даты, чтобы отобразить дату.

В основном это число дней с 1 января 1900 года, за исключением того, что в Excel есть некоторые ошибки, касающиеся обработки високосного года.

Вы можете превратить его в правильную дату, используя следующее выражение SQL:

select to_date('12/30/1899', 'MM/DD/YYYY') + 40676.2641666667 from dual;

Однако число 40610.389837963 преобразуется в 08.03.2011 09:21.Но я думаю, вы где-то это перепутали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...