|
|
|
关于如何操作oracle数据库的date类型的数据的问题
|
2006年07月29日 20:59
|
|
|
标签列表
|
|
PreparedStatement pstm=null; Calendar c=new GregorianCalendar(2006,10,1,10,10,10); java.util.Date d = c.getTime(); java.sql.Date date2 = new java.sql.Date(d.getTime()); pstm=conn.prepareStatement("insert into time values(?)"); pstm.setDate(1,date2); pstm.executeUpdate();
//以上是向oracle插入一些date类型的几行代码.但是,有一个问题,就是只能插入年月日,但是小时,分钟,秒,就没办法插进去.
//改用Timestamp这种类型的去插入,结果也同上.小时,分钟,秒还是没有办法插入?
//而且查询的时候,通过 ResultSet rs=stm.executeQuery("select start_date from time"); while(rs.next()) {
date=rs.getDate(1); t=rs.getTimestamp(1); g=new GregorianCalendar(); g.setTime(date); System.out.println("小时分秒:"+g.get(Calendar.HOUR)+"\t"+g.get(Calendar.MINUTE)+"\t"+g.get(Calendar.SECOND)); System.out.println("年月日:"+g.get(Calendar.MONTH)+" \t"+g.get(Calendar.YEAR)+"\t"+g.get(Calendar.DATE)); }
以上通过查询,也只能查询到年月日,但是小时,分钟,秒,却没有办法去查询到,结果均是0, 请各位高手,指点一下.好吗?
|
|
|
|
|
|
Re: 关于如何操作oracle数据库的date类型的数据的问题
|
2006年08月11日 10:20
|
|
|
如果向Oracle表中添加一条记录,日期字段可以在JAVA代码中指定为字符串,就象添加字符串字段一样, 在SQL中用oracle中的to_date()函数 1.建表 create table test_db ( t date)
2.添加记录(年月日) insert into test_db values(to_Date('2005-06-15','yyyy-mm-dd'))
2.添加记录(年-月-日 时:分:秒) 24小时制 insert into test_db values(to_Date('2005-06-15 19:28:35','yyyy-mm-dd hh24:mi:ss'))
3.添加记录(年-月-日 时:分:秒) 12小时制 insert into test_db values(to_Date('2005-06-15 12:28:35','yyyy-mm-dd hh:mi:ss'))
如果想从数据库查询出日期格式的字段,可以在SQL中使用oracle中强大的to_char()函数把日期转换成字符串, select To_Char(t,'yyyy') year, To_Char(t,'mm') Month, To_Char(t,'dd') Day, To_Char(t,'HH24') Hour, To_Char(t,'mi') Minute, To_Char(t,'ss') Second from test_db 这样的在JAVA代码中可以直接取字段值了
如果嫌写SQL语名麻烦用这个 select To_Char(t,'yyyy-mm-dd hh24:mm:ss') time_ from test_db 这样直接取time_字段值即可
|
|
|
|