我面临着一种奇怪的情况。我有下表,有两列。
Customer:
Customer_ID nvarchar2
Subscription_Date Date
我正在尝试使用元数据获取 Subscription_Date 的列类型,如下所示:
ResultSet rs = selectStmt.executeQuery("SELECT Customer_ID, Subscription_Date FROM Cusomter");
java.sql.ResultSetMetaData rsMetaData = rs.getMetaData();
int type1 = rsMetaData.getColumnType(2);
如果我使用 JDK 1.6 和 ojdbc6.jar,type1
则返回为
93 (java.sql.Types.TIMESTAMP)
如果我使用 JDK 1.5 和 ojdbc14.jar,type1
则返回为
91 (java.sql.Types.DATE)
但在这两种情况下,Subscription_Date 的实际列类型都是DATE
. 这是一些向后兼容性问题吗?还是我的编码方式不对?各位大佬能看一下,给点建议吗?