Отображение даты Oracle в тип Java для возврата количества секунд с начала эпохи? - PullRequest
1 голос
/ 22 апреля 2009

У меня есть таблица со столбцом даты оракула

когда я выбираю sqlplus для столбца, он дает мне значение, подобное этому

10-JAN-2007
  1. Является ли это точностью даты в столбце Oracle, если она не имеет часовых секунд, миллисекунд в столбце даты.
  2. Как я могу сопоставить это с меткой времени Java и получить секунды с начала эпохи.

Ответы [ 2 ]

4 голосов
/ 22 апреля 2009

Если вы выберете его, используя java.sql Statement / PreparedStatement, он вернет java.sql.Date, который вы затем можете сделать .getTime (), как обычный java.util.Date.

В зависимости от РСУБД, если вам действительно нужна временная метка, вы должны сделать столбец типом временной метки и выбрать его в java.sql.Timestamp. В противном случае это даст вам время 12 часов утра.

3 голосов
/ 22 апреля 2009

Нет, в столбце Oracle DATE хранятся часы, минуты и секунды. Однако sqlplus по умолчанию будет показывать только месяц, день и год. Используйте следующую информацию перед запуском запроса, чтобы отобразить полную дату и время:

alter session set NLS_DATE_FORMAT='DD-MM-YYYY HH24:MI:SS';

Разница между типами столбцов DATE и TIMESTAMP в Oracle заключается в том, что TIMESTAMP будет хранить доли секунды.

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