Java Oracle JDBC ResultSetMetaData.getColumnType返回错误的值

Java Oracle JDBC ResultSetMetaData.getColumnType返回错误的值,java,oracle,jdbc,Java,Oracle,Jdbc,在我的Oracle表中,我有几个FLOAT列和一堆NUMBER列 但是,对于所有这些列,方法返回2,即 我试图找出为什么它没有像人们所期望的那样返回6分,7分,甚至8分 该方法声称返回一个值,但显然没有。如果列数据类型为FLOAT,则应返回6或至少7或8 如果每个数字子类型返回2,那么该方法有什么意义 基本上,如何才能发现列是FLOAT类型的?甲骨文有可能做到这一点吗 编辑:哇,一切都是一个oracle.sql.NUMBER: :(my guess:Float是NumericRight的一个子类

在我的Oracle表中,我有几个FLOAT列和一堆NUMBER列

但是,对于所有这些列,方法返回2,即

我试图找出为什么它没有像人们所期望的那样返回6分,7分,甚至8分

该方法声称返回一个值,但显然没有。如果列数据类型为FLOAT,则应返回6或至少7或8

如果每个数字子类型返回2,那么该方法有什么意义

基本上,如何才能发现列是FLOAT类型的?甲骨文有可能做到这一点吗

编辑:哇,一切都是一个oracle.sql.NUMBER:
:(

my guess:Float是NumericRight的一个子类型,但是如果java.sql.Types没有用处,那么它们又有什么意义呢?:(为什么这很重要?JDBC不提供一个接口来获取所需的Java类型,从而使您不用担心数据库如何存储或返回值吗?ResultSetMetaData.getColumnType方法声称返回Java.sql.Types值,但事实并非如此。如果数据类型为FLOAT,则应返回6或至少7或8。这是什么如果每个数字子类型返回2,那么该方法的意义是什么?我理解你在最后一句+1之后的问题。奇怪的是,Oracle中的float应该映射到JDBC中的float。我的猜测:float是NumericRight的子类型,但是java.sql.Types如果没有用处又有什么意义呢(为什么这很重要?JDBC不提供一个接口来获取所需的Java类型,从而使您不用担心数据库如何存储或返回值吗?ResultSetMetaData.getColumnType方法声称返回Java.sql.Types值,但事实并非如此。如果数据类型为FLOAT,则应返回6或至少7或8。这是什么如果每个数字子类型返回2,那么该方法的意义是什么?我理解你在最后一句+1之后的问题。奇怪的是,Oracle中的float应该映射到JDBC中的float。