gpt4 book ai didi

java - 如何在java中比较2个不同的数据库列数据类型

转载 作者:太空宇宙 更新时间:2023-11-04 07:50:47 25 4
gpt4 key购买 nike

就我而言,我必须比较两个不同数据库的列数据类型。以下是示例代码。

ResultSetMetaData metadataSrc = Src_rs.getMetaData(); // here Src_rs is source resultset
ResultSetMetaData metadataTar= Tar_rs.getMetaData(); // here Tar_rs is target resultset
int countSrc = metadataSrc.getColumnCount();
for (int i = 1; i <= countSrc; i++) {
String srcOracleType=metadataSrc.getColumnTypeName(i);
String tarMySqlType = metadataTar.getColumnTypeName(i);
}

这里我想检查srcOracleType是否等于tarMySqlType。如果相同我想继续执行,否则需要返回 false。

当我尝试在 MySQL 和 Oracle 中创建数据类型为 int 的表时,此查询开始。通过Java Jdbc代码,当我检索两种数据库数据类型时,对于oracle,它给出NUMBER,对于mysql,它给出LONG

最佳答案

从 API 中摘录 (http://docs.oracle.com/javase/1.4.2/docs/api/java/sql/ResultSetMetaData.html):

getColumnTypeName(int column)
Retrieves the designated column's database-specific type name.

您可以使用:

getColumnClassName(int column)
Returns the fully-qualified name of the Java class whose instances are manufactured if the method ResultSet.getObject is called to retrieve a value from the column.

通过比较 Java 中的“转换”而不是比较特定于数据库的行类型会更容易。

关于java - 如何在java中比较2个不同的数据库列数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com