Проигрышная точность JDBC ResultSet getDate

Я теряю точность в своих вызовах ResultSet.getDate(x). В основном:

rs = ps.executeQuery();
rs.getDate("MODIFIED");

возвращается даты, усеченные ко дню, где ИЗМЕНЕНО, поле Oracle TIMESTAMP точности по умолчанию. Я думаю, что может быть некоторая тонкая настройка JDBC, которую я пропускаю; обычно МЕТКА ВРЕМЕНИ совместима с ДАТОЙ, но я надеюсь, что не должен переопределять всю таблицу.

27
задан orbfish 16 July 2010 в 15:39
поделиться

2 ответа

ResultSet.getDate () возвращает java. sql . Дата , а не java. util . Дата . Он определен как вневременная дата. Если вам нужна отметка времени, используйте ResultSet.getTimestamp () !

63
ответ дан 28 November 2019 в 04:37
поделиться

Вам следует использовать java.sql.Timestamp вместо java.sql.Date. При необходимости вы можете использовать его как объект java.util.Date.

rs = ps.executeQuery();
Timestamp timestamp = rs.getTimestamp("MODIFIED");

Надеюсь, это поможет.

4
ответ дан 28 November 2019 в 04:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: