У меня есть база данных Informix с полем отметки времени, заданным как ГОД ВТОРОЙ.
Когда я показываю это поле с помощью JDBC rs.getString (column), оно использует формат с миллисекундами, поэтому это поле выглядит следующим образом:
2008-12-18 13:58:14.0
Я бы хотел использовать только поля ГОД ВТОРОЙ. Я установил переменную среды:
GL_DATETIME=%Y-%m-%D %H:%M:%S
но даже тогда у меня были миллисекунды. Программы, использующие ODBC, не показывают миллисекунды. Как я могу получить строку TIMESTAMP "YEAR TO SECOND" только? В моей программе я могу проверить метаданные, если поле равно TIMESTAMP, а затем вырезать «.0», но я думаю, что должен быть более простой способ.
Версия сервера:
IBM Informix Dynamic Server версии 11.50.TC2DE
Версия клиента:
Драйвер JDBC IBM Informix для динамического сервера IBM Informix 3.50.JC3DE
EDIT
Похоже, что все другие протестированные мной драйверы JDBC (Oracle и PostgreSQL) показывают столбцы меток времени с миллисекундами, если я использую getString (). Поэтому я использовал решение, предложенное Тоддом. Я проверяю метаданные, и если столбец имеет метку времени, тогда я использую getTimestamp () и форматирую его.