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

时间:2014-08-08 15:22:24

标签: java jdbc

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

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

4 个答案:

答案 0 :(得分:3)

通常你can使用ResultSet的getString将数据作为字符串获取,但它依赖于jdbc驱动程序。

但我会使用该表中推荐的方法来检索列,因为它始终受支持。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

不,你不能假设这一点。最有可能date_of_birth将返回java.sql.Date或其他一些日期/时间Java类型(实际上取决于数据库类型)。

答案 3 :(得分:0)

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