stmt.executeQuery(query)的默认数据类型是什么?



我的oracle表employee有不同的数据类型列。出于我的目的,我只需要每个列的数据作为字符串。因此,当我执行下面的查询时,我可以假设date_of_birth(日期数据类型)将作为字符串返回吗?

...
rs = stmt.executeQuery("select * from employee");
...
rs.getString("date_of_birth");
...

通常您可以使用ResultSet s getString获得字符串数据,但这取决于jdbc驱动程序。

但是我会使用推荐的方法从表中检索列,因为它总是支持的。

不,你不能这么认为。您必须检查数据库列类型,并基于此使用适当的get方法例:getString(), getInt(), getDate() etc..

数据类型可能是java.sql。时间戳,如果你对它调用getString,你会得到一些东西,它会对时间戳值调用toString,你可能不喜欢日期的格式

不,你不能这样假设。最有可能的是,date_of_birth将返回为java.sql.Date或其他日期/时间Java类型(实际上取决于DB类型)。

最新更新