`

java向ORACLE插入时间

 
阅读更多

引自:http://blog.sina.com.cn/s/blog_5671e70e0100fppm.html

 

public class Test{
 

       public static void main (String args []){              
                java.util.Date a = new java.util.Date();
                System.out.println(a);
                java.sql.Date b = new java.sql.Date(a.getTime());
                System.out.println(b);
                java.sql.Time c = new java.sql.Time(a.getTime());
                System.out.println(c);
                java.sql.Timestamp d=new java.sql.Timestamp(a.getTime());
                System.out.println(d);
        }
}
 
Mon Apr 03 18:00:34 CST 2006
2006-04-03
18:00:34
2006-04-03 18:00:34.388
 
1.         oracle默认的系统时间就是sysdate函数,储存的数据形如25-3-200510:55:33
2.         java 中取时间的对象是java.util.Date。
3.         oracle中对应的时间对象是java.util.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中两个转换函数:
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),因为还要处

理时间差问题。
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
java.sql.Date buydate=java.sql.Date.valueOf("2005-06-08");
pstmt.setString(1, "Java编程思想");
pstmt.setDate(2,buydate );
pstmt.execute();
方法二、使用java.sql.Timestamp,同上不使用new Timestamp(....)
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
java.sql.Timestamp buydate=java.sql.Timestamp.valueOf("2004-06-08 05:33:99");
pstmt.setString(1, "Java编程思想");
pstmt.setTimestamp(2,buydate );
pstmt.execute();
方法三、使用oracle 的to_date内置函数
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,to_date(?, 'yyyy-mm-dd hh24:mi:ss')");
String buydate="2004-06-08 05:33:99";
pstmt.setString(1, "Java编程思想");
pstmt.setString(2,buydate );
pstmt.execute();
附:oracle日期格式参数含义说明
d:一周中的星期几
day:天的名字,使用空格填充到9个字符
dd:月中的第几天
ddd:年中的第几天
dy:天的简写名
iw: ISO标准的年中的第几周
iyyy:ISO标准的四位年份
yyyy:四位年份
yyy,yy,y:年份的最后三位,两位,一位
hh: 小时,按12小时计
hh24:小时,按24小时计
mi:分
ss:秒
mm:月
mon:月份的简写
month:月份的全名
w:该月的第几个星期
ww:年中的第几个星期


=====================
sql111= select * from 

logincount where logtime = to_date('2009-11-30','yyyy-MM-dd')
st = con.prepareStatement("select * from  logincount where logtime = to_date('"+ new java.sql.Date(date.getTime())+"','yyyy-MM-dd')");

分享到:
评论

相关推荐

    Java操作Oracle数据库(建表,插数据,删除)

    在本文中,我们将探讨如何使用 Java 操作 Oracle 数据库,包括建表、插入数据和删除数据等操作。 Java 操作 Oracle 数据库的必要条件 在使用 Java 操作 Oracle 数据库之前,需要满足以下几个条件: 1. 安装 ...

    java批量插入Oracle数据方法

    以下是对“java批量插入Oracle数据方法”的深入解析,包括代码示例及其背后的原理。 ### 一、Java批量插入Oracle数据方法概览 在Java中,批量插入数据到Oracle数据库主要依赖于`PreparedStatement`对象,该对象...

    java代码oracle数据库批量插入

    这段Java代码通过JDBC实现了向Oracle数据库批量插入数据的功能。关键步骤包括:建立数据库连接、准备SQL语句、批量添加SQL语句到批处理队列、执行批处理以及事务提交。这种方式相比于逐条插入数据,可以显著提升插入...

    Java导出Oracle数据库数据

    Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。Oracle 是一种关系数据库管理系统,广泛应用于企业级应用中。在实际项目中,数据备份和恢复是非常重要的工作。本文将介绍如何使用 ...

    Java连接oracle数据库实现成绩查询

    在本课程设计中,我们利用Java编程语言与Oracle数据库相结合,构建了一个功能完善的学生成绩管理系统。这个系统针对管理员、教师和学生三个角色,提供了不同的权限和操作功能,旨在实现成绩的有效管理和查询。 首先...

    java链接oracle数据库

    Java链接Oracle数据库是一个常见的任务,尤其在开发基于Java的后台系统时。Oracle数据库是一种功能强大的关系型数据库管理系统,而Java JDBC(Java Database Connectivity)是Java平台标准的一部分,它提供了连接和...

    java调用oracle存储过程或者函数

    在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)API的使用。以下将详细介绍这个过程,包括必要的步骤、使用的类和方法,以及可能遇到的问题和解决...

    用java编程将txt文件数据导入oracle

    "Java编程将TXT文件数据导入Oracle数据库" Java 编程将 TXT 文件数据导入 Oracle 数据库是指使用 Java 语言编写程序将 TXT 文件中的数据导入 Oracle 数据库中,以方便进行计算、统计等操作。下面将详细介绍该知识...

    java实现oracle数据库备份.pdf

    ### Java 实现 Oracle 数据库备份的关键知识点 #### 一、背景与需求分析 在软件开发过程中,数据库备份是一项重要的工作,它可以确保数据的安全性,在发生意外情况时能够迅速恢复数据。传统的备份方式通常通过...

    java对oracle数据库中blob字段的处理

    在IT领域,尤其是在Java开发与Oracle数据库交互的过程中,处理BLOB(Binary Large Object)类型字段是一项常见且重要的任务。BLOB字段主要用于存储大量的二进制数据,如图像、音频、视频或任何其他非文本格式的数据...

    Java_OracleHelper源码

    Java_OracleHelper源码是一个专为Java开发者设计的工具类库,主要目的是简化与Oracle数据库的交互过程。这个源码库包含了一系列的辅助方法,帮助开发者执行SQL查询、更新、插入和删除操作,以及处理Oracle特有的特性...

    java连接oracle的数据库驱动

    Java连接Oracle数据库主要依赖于Oracle提供的JDBC驱动,也称为Oracle JDBC Driver。Oracle JDBC驱动有多种类型,包括 Thin、OCI(Oracle Call Interface)和JDBC-ODBC桥接。在本场景中,我们重点关注Thin驱动,因为...

    Java连接Oracle示例.rar

    在Java编程环境中,连接Oracle数据库是一项基础且重要的任务。Oracle是一种广泛应用的关系型数据库管理系统,而Java作为跨平台的编程语言,提供了多种方式来与Oracle进行交互。本示例旨在帮助初学者理解如何在Java...

    java连接oracle成功例子

    本文将深入解析一个典型的Java连接Oracle数据库的示例代码,涵盖数据库连接、数据插入、更新、删除及查询操作,旨在帮助读者理解和掌握这一核心技能。 #### 一、导入必要的包 ```java import java.sql.*; ``` ...

    JAVA+ORACLE公交信息管理系统

    1. 用户接口模块:用户可以通过简单的图形界面输入查询条件,如线路号、起点站、终点站等,JAVA程序将这些信息封装成SQL查询语句,发送给ORACLE数据库。 2. 数据处理模块:ORACLE接收到查询请求后,通过索引快速...

    Oracle数据库时间类型与JAVA之间的转换和应用.pdf

    当你需要从Java程序向Oracle数据库中插入日期时,需要注意格式匹配问题。Oracle数据库使用特定的日期格式来解析输入的日期。如果格式不匹配,将会导致错误。 **1. 不加处理的情况** 如果没有对日期格式进行适当的...

    java操作oracle的驱动包

    Java操作Oracle数据库主要依赖于Oracle提供的驱动包,这两个文件,`classes12.jar`和`ojdbc14.jar`,都是Oracle JDBC驱动程序的一部分,用于在Java应用程序中连接到Oracle数据库。下面将详细介绍这两个驱动包及其...

    java连接oracle实例

    在Java编程中,连接Oracle数据库并调用其存储过程是一项常见的任务,这涉及到JDBC(Java Database Connectivity)技术以及对Oracle特性的理解。下面将详细解释这个过程。 首先,Java通过JDBC API与各种数据库进行...

    java中xml文件的处理及oracle中xmltype的插入和读取.pdf

    Java 中 XML 文件的处理及 Oracle 中 XMLType 的插入和读取 Java 中 XML 文件的处理是指在 Java 应用程序中处理和操作 XML 文件的过程。在 Oracle 数据库中,XMLType 是一种特殊的数据类型,用于存储和处理 XML ...

Global site tag (gtag.js) - Google Analytics