现在的位置: 首页 > 编程·网络 > java编程 > 正文
java向ORACLE插入时间
2014年03月12日 java编程 ⁄ 共 2213字 java向ORACLE插入时间已关闭评论 ⁄ 被围观 9,192 views+

 

1、oracle默认的系统时间就是sysdate函数,储存的数据形如25-3-200510:55:33。

2、java 中取时间的对象是java.util.Date。

3、oracle中对应的时间对象是java.sql.Date,java.sql.Time,java.sql.Timestamp、它们都是是java.util.Date的子类。

4、 oracle中与date操作关系最大的就是两个转换函数:to_date(),to_char()。to_date()一般用于写入日期到数据库时用到的函数。to_char()一般用于从数据库读入日期时用到的函数。

DATE、TIME 和 TIMESTAMP:
SQL 定义了三种与时间有关的数据类型:DATE 由日、月和年组成。TIME 由小时、分钟和秒组成。 TIMESTAMP 将 DATE 和 TIME 结合起来,并添加了纳秒域。
标准 Java 类 java.util.Date 可提供日期和时间信息。但由于该类包含 DATE 和 TIME 信息而没有 TIMESTAMP 所需的纳秒,因此并不与上述三种 SQL 类型完全相配。
因此我们定义了 java.util.Date 的三种子类。它们是:
1.       有关 SQL DATE 信息的 java.sql.Date
2.       有关 SQL TIME 信息的 java.sql.Time
3.       有关 SQL TIMESTAMP 信息的 java.sql.Timestamp
对于 java.sql.Time,java.util.Time 基本类的小时、分钟、秒和毫秒域被设置为零。 对于 java.sql.Date,java.util.Date 基本类的年、月和日域被分别设置为 1970 年 1月 1 日。这是在 Java 新纪元中的“零”日期。java.sql.date中的日期可以和标准的SQL语句中含有日期的字段进行比较.java.sql.Timestamp 类通过添加纳秒域来扩展java.util.Date。

oracle数据库字段时间类型如果是date类型,则在插入数据时最好用java.sql.Date类型来操作,数据库中可能会只有年月日,如果oracle时间字段中用的是time类型则用java.sql.Time类型来操作,可能只有时分秒,同样oracle数据库中如果是TIMESTAMP时间类型,则用 java.sql.Timestamp,则会比较全的表示时间,年月日时分秒。

oracle中两个转换函数:

1. to_date() 作用将字符类型按一定格式转化为日期类型:

具体用法:to_date(''2004-11-27'',''yyyy-mm-dd''),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如;to_date(''2004-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') 将得到具体的时间。

2. to_char():将日期转按一定格式换成字符类型:

具体用法:to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'')

to_date()与24小时制表示法及mm分钟的显示:

在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810格式代码出现两次”。

如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。 oracle默认的系统时间就是sysdate函数,储存的数据形如2005-3-2510:55:33,java 中取时间的对象是java.util.Date。

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual

在java对oracle的操作中,对日期字段操作的例子:

表 book 中有name varchar2(20)//书籍名称,buydate Date //购买日期 两个字段。已经创建了数据库连接Connection conn;

方法一、使用java.sql.Date实现比较简单的yyyy-mm-dd格式日期。java.sql.Date不支持时间格式。切记不要使用new java.sql.Date(int year,int month,int date),因为还要处理时间差问题。

方法二、使用java.sql.Timestamp,同上不使用new Timestamp(....)

方法三、使用oracle 的to_date内置函数

=====================



本文链接:java向ORACLE插入时间

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:海鹏的博客,谢谢!^^


【上篇】
【下篇】

抱歉!评论已关闭.

无觅相关文章插件,快速提升流量