如何从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.Date
是java.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);
}