我有 Informix 数据库,其时间戳字段定义为 YEAR TO SECOND。当我使用 JDBC rs.getString(column) 显示该字段时,它使用毫秒格式,因此该字段如下所示:
2008-12-18 13:58:14.0
我希望它只使用 YEAR TO SECOND 字段。我设置环境变量:
GL_DATETIME=%Y-%m-%D %H:%M:%S
但即使那样我也有几毫秒。使用 ODBC 的程序不显示毫秒。如何仅接收 TIMESTAMP 字符串“YEAR TO SECOND”?在我的程序中,如果字段是 TIMESTAMP,我可以检查元数据,然后剪切“.0”,但我认为应该有更简单的方法。
服务器版本:IBM Informix 动态服务器版本 11.50.TC2DE
客户端版本:IBM Informix JDBC Driver for IBM Informix Dynamic Server 3.50.JC3DE
编辑 如果我使用 getString(),我测试的所有其他 JDBC 驱动程序(Oracle 和 PostgreSQL)看起来都以毫秒为单位显示时间戳列。所以我使用了托德提出的解决方案。我检查元数据,如果列是时间戳,那么我使用 getTimestamp() 并对其进行格式化。