【发布时间】:2016-05-17 09:20:22
【问题描述】:
JDBC 支持以下内容:
ResultSet columns = connection.getMetaData().getColumns(null, schema, tableName, null);
这样我可以检索给定表中所有列的信息,包括 DATA_TYPE 信息。该信息是 java 中的 int 类型。
我使用以下查询来检索列名和数据类型,但这会返回数据类型的字符串表示,我需要 int:
select column_name, data_type from all_tab_cols where table_name = 'tablename' and owner = 'owner';
这行 java 代码如何转换为 Oracle DB 中的查询?
如何检索列的 int 表示形式?
我会使用连接,但我不知道从哪里获取信息。 Oracle 将这些信息存储在哪里?
【问题讨论】:
-
Oracle 中的标准数字数据类型是 NUMBER。 int 和 float/double 之间没有区别。 (如果你很幸运,如果一列真的是整数,你会看到类似 NUMBER(8,0) 的东西,但这种情况相当少见。)你建议如何识别哪些列是 int 哪些是 float/双倍?