Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过JavaAPI获取数字列的比例和精度?_Java_Jdbc_Oracle11g_Ojdbc - Fatal编程技术网

通过JavaAPI获取数字列的比例和精度?

通过JavaAPI获取数字列的比例和精度?,java,jdbc,oracle11g,ojdbc,Java,Jdbc,Oracle11g,Ojdbc,我有一个关于Oracle DB的问题。假设我有一个数字类型的列。如何通过JavaAPI获得本专栏的精度和规模 非常感谢。假设您已经有了一个结果集,您可以获得其元数据,该元数据应提供所需的数据: int column = ... // first column is 1 !! ResultSet rset = ... ResultSetMetaData metadata = rset.getMetaData(); int precision = metadata.getPrecision(co

我有一个关于Oracle DB的问题。假设我有一个数字类型的列。如何通过JavaAPI获得本专栏的精度和规模


非常感谢。

假设您已经有了一个
结果集
,您可以获得其元数据,该元数据应提供所需的数据:

int column = ...  // first column is 1 !!
ResultSet rset = ...

ResultSetMetaData metadata = rset.getMetaData();
int precision = metadata.getPrecision(column);
int scale = metadata.getScale(column);
如果没有
结果集
,只需执行SQL语句,不返回任何行,如下所示:

Connection conn = DriverManager.getConnection(...);
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("SELECT TheColumn FROM TheTable WHERE 1 = 0");
                             // or "SELECT * FROM TheTable WHERE 1 = 0");

元数据提供的更多详细信息:

假设您已经有一个
结果集
,您可以获得其元数据,该元数据应提供所需的数据:

int column = ...  // first column is 1 !!
ResultSet rset = ...

ResultSetMetaData metadata = rset.getMetaData();
int precision = metadata.getPrecision(column);
int scale = metadata.getScale(column);
如果没有
结果集
,只需执行SQL语句,不返回任何行,如下所示:

Connection conn = DriverManager.getConnection(...);
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("SELECT TheColumn FROM TheTable WHERE 1 = 0");
                             // or "SELECT * FROM TheTable WHERE 1 = 0");

元数据提供的更多详细信息:

您甚至不需要创建查询。您可以使用数据库元数据。然后了解有关数据库的所有信息。(见附件)

DataBaseMeta可以收集很多信息。它在JavaAPI文档中有很好的文档记录。
请注意,在扫描大型数据库时,它可能会消耗大量资源

您甚至不需要创建查询。您可以使用数据库元数据。然后了解有关数据库的所有信息。(见附件)

DataBaseMeta可以收集很多信息。它在JavaAPI文档中有很好的文档记录。
请注意,在扫描大型数据库时,它可能会消耗大量资源

你可以参考这个,你可以参考这个,谢谢。因此,这意味着如果列所属的表为空,则无法获得列的精度或比例?当然可以-“执行不返回任何行的SQL语句”,尽管也可以执行返回部分或所有行的语句[:-)。谢谢。这意味着如果列所属的表为空,我无法获得列的精度或比例?当然可以-“执行不返回行的SQL语句”,尽管您也可以执行返回部分或全部行的语句[:-)。