日期:2014-05-16 浏览次数:20683 次
一般的数据库中,DATE字段仅仅表示日期,不包括日期信息,而Oracle数据库中的DATE数据类型是包括日期、时间的,对于不同的Oracle jdbc驱动版本,对于该问题的处理都有些区别,如果你使用9i或者11g
的驱动程序,可能不会发现什么困惑,不幸的话,你使用Oracle10g的JDBC驱动,问题就来了,你会发现时间不见了
?
看下面的程序
? 表结构如下
create table t_test(
id int,
date1 date,
date2 timestamp,
primary key(id)
)
?2
????????????Class.forName(
"
oracle.jdbc.OracleDriver
"
);
?3
????????????java.sql.Connection?connection1?
=
?DriverManager.getConnection(
"
jdbc:oracle:thin:@192.168.8.200:1521:cdb
"
,?
"
sysusr
"
,?
"
sys
"
);
?4
????????????System.out.println(connection1);
?5
????????????System.out.println(connection1.getMetaData().getDriverName()
+
"
?
"
+
connection1.getMetaData().getDriverVersion());
?6
????????????ResultSet?rs?
=
?connection1.createStatement().executeQuery(
"
select?date1,date2?from?t_test
"
);
?7
????????????rs.next();
?8
?????????????printInfo(rs,
1
);
?9
????????????printInfo(rs,
2
);
10
????????}
11
????????
catch
?(Exception?exception1)?
{
12
????????????exception1.printStackTrace();
13
????????}
14