ResultSet getDate(1)



如何从ResultSet返回oracle.sql.DATE? 它返回一个 Java 日期,而不是 ORACLE 日期。

我收到一个错误:

类型不匹配:无法从日期转换为日期

ResultSetIterator iter;
...
ResultSet rs = iter.getResultSet();
if (rs.next()) {
date = rs.getDate(1);
}

我的查询:

SELECT MIN(date_created) FROM tbl_user group by date_created;

什么是oracle.sql.DATE?你是说java.sql.Date吗? java Date是什么意思?你知道java.sql.Datejava.util.Date的子类吗?

试试这个,输出会是什么?

ResultSet rs = iter.getResultSet();
if (rs.next()) {
date = rs.getDate(1);
if (date instanceof java.sql.Date)
System.out.println("sql date");
if (date instanceof java.util.Date)
System.out.println("util date");
}

编辑:

我看到这里你可以做这样的事情:

ResultSet rs = iter.getResultSet();
if (rs.next()) {
date = rs.getDate(1);
if (date instanceof java.sql.Date)
return new oracle.sql.DATE(date);
}

可以将结果集强制转换为OracleResultSet,然后使用getDATE()方法:

OracleResultSet rs = (OracleResultSet)iter.getResultSet();
if (rs.next()) {
oracle.sql.DATE date = rs.getDATE(1);
}

相关内容

  • 没有找到相关文章

最新更新