JiveJdon Community Forums
在线285人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 1 回复 / 1
 发表新帖子   回复该主题贴
yeshenghai

悄悄话
发表文章: 2
注册时间: 2006年07月27日 23:06
关于如何操作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,
请各位高手,指点一下.好吗?
Armamd

悄悄话
发表文章: 1
注册时间: 2006年08月11日 09:54
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_字段值即可
这个主题有 1 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询标签列表

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam