Java数据类型是Oracle JDBC驱动程序分配给Oracle SQL数据类型的 NUMERIC?这是否随着 NUMERIC 类型?

有帮助吗?

解决方案

正如其他人已经说过的那样:驾驶员将所有内容都映射到BigDecimal,即使将其定义为数字(38)(可以映射到Biginteger)

但是很容易找出驾驶员地图。只需在结果集的列上执行getObject(),然后查看驱动程序生成的类。

就像是:

ResultSet rs = statement.executeQuery("select the_number_column from the_table");
if (rs.next())
{
  Object o = rs.getObject(1);
  System.out.println("Class: " + o.getClass().getName());
}

其他提示

根据 Oracle文档 它是 java.math.BigDecimal.


“但是我对BigDecimal的演员抛出了ClasscastException”

您是否尝试过使用 oracle.sql.NUMBER ?

已经有一段时间了,但我相信这是Java的Bigint。这是大事。我记得您遇到的ClasscastException会给您提示...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top