Вопрос

У меня есть база данных Informix с полем метки времени, определенным от ГОДА До СЕКУНДЫ.Когда я показываю это поле с помощью JDBC rs.getString(столбец), оно использует формат с миллисекундами, поэтому это поле выглядит следующим образом:

2008-12-18 13:58:14.0

Я бы хотел, чтобы он использовал только поля ОТ ГОДА Ко ВТОРОМУ.Я устанавливаю переменную окружения:

GL_DATETIME=%Y-%m-%D %H:%M:%S

но даже тогда у меня были миллисекунды.Программы, использующие ODBC, не показывают миллисекунды.Как я могу получить только строку ВРЕМЕННОЙ МЕТКИ "ОТ ГОДА До СЕКУНДЫ"?В моей программе я могу проверить метаданные, если поле является отметкой ВРЕМЕНИ, а затем вырезать ".0", но я думаю, что должен быть более простой способ.

Версия сервера:IBM Informix Dynamic Server Версии 11.50.TC2DE

Клиентская версия:Драйвер IBM Informix JDBC для IBM Informix Dynamic Server 3.50.JC3DE

Редактировать Похоже, что все другие драйверы JDBC, которые я тестировал (Oracle и PostgreSQL), показывают столбцы временных меток с миллисекундами, если я использую getString().Поэтому я воспользовался решением, предложенным Тоддом.Я проверяю metatdata, и если столбец является отметкой времени, то я использую getTimestamp() и форматирую его.

Это было полезно?

Решение

Если вы используете JDBC, вы можете использовать методы rs.getDate(столбец) или rs.getTimestamp (столбец), которые возвращают объекты Date и Timestamp соответственно.Тогда у вас есть объект, представляющий время, а не Строка, выражающая его напрямую.Используя дату или временную метку, вы можете использовать устройство для форматирования даты отформатировать его в любое строковое представление того времени, которое вы выберете.

Обновить (после прочтения комментариев ниже):Если вы используете getDate(), он по-прежнему будет работать для столбцов временных меток.Это просто снизит точность до секунды.Таким образом, вам не нужно проверять метаданные, вам просто нужно знать, что столбец представляет собой какую-то временную метку или дату.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top