如何从 ResultSet.getMetaData().getColumnType(i) 获取 Oracle SQL 类型的 -101 整数值对应的常量变量名称
How do I get the corresponding constant variable name for the integer value of -101 an Oracle SQL type from ResultSet.getMetaData().getColumnType(i)
如何从 ResultSet.getMetaData().getColumnType(i) 中获取 Oracle SQL 类型的整数值对应的常量变量名称?
常量变量的几个例子如下:
java.sql.Types.VARCHAR:
java.sql.Types.NVARCHAR:
java.sql.Types.LONGVARCHAR:
java.sql.Types.LONGNVARCHAR:
java.sql.Types.NUMERIC:
java.sql.Types.SMALLINT:
java.sql.Types.BIGINT:
java.sql.Types.FLOAT:
java.sql.Types.DOUBLE:
java.sql.Types.DECIMAL:
java.sql.Types.DATE:
java.sql.Types.TIMESTAMP:
java.sql.Types.TIMESTAMP_WITH_TIMEZONE:
java.sql.Types.TIME_WITH_TIMEZONE:
但我得到的特定列的值为 -101,即 TIMESTAMP WITH TZ。顺便说一句,我正在使用 Oracle。
那么,给定 -101 的值,我应该为此使用什么常量变量?我可以看到有类似 oracle.sql.TIMESTAMPTZ 的东西,但它不是整数而是实际类型。
我尝试搜索整个 java.sql.Types,但找不到 -101 的匹配项。
这可能是 JDBC 规范和 Oracle 驱动程序实现之间的误解。
There is an old bug related to this same question on Squirrel's Backlog。
要发现 java.sql.Types
中的哪个常量与特定整数值相关,您可以使用反射并循环遍历所有常量并找到匹配的常量。
但在您的情况下,您需要将 oracle 驱动程序返回的 - 101 转换为 TIMESTAMP_WITH_TIMEZONE
常量上指定的 2014 值。
如何从 ResultSet.getMetaData().getColumnType(i) 中获取 Oracle SQL 类型的整数值对应的常量变量名称?
常量变量的几个例子如下:
java.sql.Types.VARCHAR:
java.sql.Types.NVARCHAR:
java.sql.Types.LONGVARCHAR:
java.sql.Types.LONGNVARCHAR:
java.sql.Types.NUMERIC:
java.sql.Types.SMALLINT:
java.sql.Types.BIGINT:
java.sql.Types.FLOAT:
java.sql.Types.DOUBLE:
java.sql.Types.DECIMAL:
java.sql.Types.DATE:
java.sql.Types.TIMESTAMP:
java.sql.Types.TIMESTAMP_WITH_TIMEZONE:
java.sql.Types.TIME_WITH_TIMEZONE:
但我得到的特定列的值为 -101,即 TIMESTAMP WITH TZ。顺便说一句,我正在使用 Oracle。
那么,给定 -101 的值,我应该为此使用什么常量变量?我可以看到有类似 oracle.sql.TIMESTAMPTZ 的东西,但它不是整数而是实际类型。
我尝试搜索整个 java.sql.Types,但找不到 -101 的匹配项。
这可能是 JDBC 规范和 Oracle 驱动程序实现之间的误解。
There is an old bug related to this same question on Squirrel's Backlog。
要发现 java.sql.Types
中的哪个常量与特定整数值相关,您可以使用反射并循环遍历所有常量并找到匹配的常量。
但在您的情况下,您需要将 oracle 驱动程序返回的 - 101 转换为 TIMESTAMP_WITH_TIMEZONE
常量上指定的 2014 值。