需要一些关于 jdbc 元数据的帮助。 我正在使用 ResultsetMetaData 获取 Oracle10g 上表列的元数据。我正在使用 ojdbc14.jar。表 ID 中有一个字段声明为 Number 。在运行时使用 jdbc 读取该字段以获取其元数据属性。 ResultSetMetaData.getColumnClassName() 正在返回 java.math.BigDecimal 而我期望它是 Integer 或 int 或 long 或 Long 类型。 我什至尝试使用语句创建表,并将 ID 列的 int 类型显式定义为
CREATE TABLE COST_DETAILS ( ID **INT** Primary Key...
但 ResultSetMetaData 仍在为 ID 列返回 BigDecimal。
有什么方法可以创建具有任何特定列类型的表,以便它重新运行 int/long 类型?
或者 ResultsetMetaData 总是为 Oracle 返回 BigDecimal。
最佳答案
我认为 Oracle 数字将始终映射到 BigDecimal,因为 Oracle 不会将它们存储为二进制 int,因此这是一个精确映射。 Oracle datatypes和 Oracle JDBC您可以使 float 以二进制形式出现
关于java - ResultSetMetaData 返回 BigDecimal insted of int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1419109/