假设我有一个JDBC ResultSet,然后调用getLong()或getshort()方法。
我应该为以下哪种SQL类型{SMALLINT,INT,BIGINT}变长,并且应该为哪些类型出错?
换句话说,如果我有一个INT并且我想要一个SMALLINT(简称),我会得到它还是会得到一个错误?同样,如果我有一个INT并想要一个BIGINT(很长),我会得到它还是会得到一个错误?
Javadocs(下面列出)什么也没说。
最佳答案
在Java教程的Retrieving Values from Result Sets部分中:
我的意思是说数据将被强制。如果是upcast,它应该可以正常工作,但是例如,如果您正在使用getInt()
读取LONG值,则我希望自然地会损失精度。我希望如果尝试使用getInt()
读取文本,则会引发异常。