假设我有一个JDBC ResultSet,然后调用getLong()或getshort()方法。

我应该为以下哪种SQL类型{SMALLINT,INT,BIGINT}变长,并且应该为哪些类型出错?

换句话说,如果我有一个INT并且我想要一个SMALLINT(简称),我会得到它还是会得到一个错误?同样,如果我有一个INT并想要一个BIGINT(很长),我会得到它还是会得到一个错误?

Javadocs(下面列出)什么也没说。

最佳答案

在Java教程的Retrieving Values from Result Sets部分中:



我的意思是说数据将被强制。如果是upcast,它应该可以正常工作,但是例如,如果您正在使用getInt()读取LONG值,则我希望自然地会损失精度。我希望如果尝试使用getInt()读取文本,则会引发异常。

09-26 15:01