`
xuechenyoyo
  • 浏览: 55671 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于Oracle驱动里的oracle.sql.TIMESTAMP

    博客分类:
  • JDBC
阅读更多
个人觉得Oracle在日期类型对象方面,自己的JDBC驱动不兼顾JDK的标准类,其实是为了数据安全考虑,毕竟Date不是基础数量类型,不知道jdk啥时候能将Date归为基础数据类型,像String,Integer一样使用。
我想好多朋友遇到过此类问题。这里不再详述。

个人的解决方案:

private String getDate(Object value) {

Timestamp timestamp = null;
try {
timestamp = (Timestamp) value;
} catch (Exception e) {
timestamp = getOracleTimestamp(value);
}
if(timestamp!=null)
return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S")) .format(timestamp);
else return null;
}
/**
     * @reference oracle.sql.Datum.timestampValue();
     * @return
     */
private Timestamp getOracleTimestamp(Object value) {
try {
Class clz = value.getClass();
Method m = clz.getMethod("timestampValue", null);
                       //m = clz.getMethod("timeValue", null); 时间类型
                       //m = clz.getMethod("dateValue", null); 日期类型
return (Timestamp) m.invoke(value, null);

} catch (Exception e) {
return null;
}
}
分享到:
评论
4 楼 xuechenyoyo 2014-08-12  
现在明白Oracle这样做的目的了!
是为了数据安全,
Date 是个对象,不是基础数据类型。

倒是java应该将Data归类为基础数据类型!

赞下Oracle JDBC
3 楼 尘枉_yjava 2013-10-09  
果然问题解决了,谢谢
2 楼 dbhljyun 2011-10-09  
  
1 楼 nishijia 2009-06-21  
getOracleTimestamp 这个方法很不错 oracle.sql.timestamp => java.sql.timestamp

相关推荐

    Oracle jdbc for 11g 最新版 驱动 ojdbc6dms.jar

    Oracle官方11g 最新版jdbc驱动。 新特性:  1、支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持,是使用ojdbc6.jar来支持。J2SE 5.0 和 JDBC 3.0 全面支持使用ojdbc5.jar。  2.不再支持oracle....

    oracle timestamp详解

    oracle timestamp详解 将常用的转换方法及使用注意事项都罗列出来了

    Oracle jdbc for 11g 最新版 驱动 ojdbc6.jar

    Oracle官方11g 最新版jdbc驱动。 新特性:  1、支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持,是使用ojdbc6.jar来支持。J2SE 5.0 和 JDBC 3.0 全面支持使用ojdbc5.jar。  2.不再支持oracle.jdbc....

    oracle 10.2.0.1 精简客户端.msi.zip

    3、可使用自带的SQL Plus连接Oracle服务器,可以配合PLSQL Developer使用。为减小软件体积,没有对PL/SQL Developer打包,请用户自行下载。 ------------------------------------ >移除了OLE DB/ODBC相关的几个...

    Oracle执行计划详细解读.pptx

    Oracle 执行计划是 Oracle 数据库中的一种机制,用于优化 SQL 语句的执行效率。执行计划是 Oracle 数据库内部的一种机器级代码,决定如何访问存储器,得到需要的结果集。 执行计划的主要内容包括: 1. 访问方式:...

    Oracle和MySQL语句区别.doc

    例如,Oracle支持的数据类型有CHAR、VARCHAR2、NUMBER、DATE、TIMESTAMP等,而MySQL则支持的数据类型有CHAR、VARCHAR、INT、DATE、TIMESTAMP等。此外,Oracle的NUMBER类型可以表示数字、整数和浮点数,而MySQL的INT...

    Oracle PL/SQL programming(5th Edition)

    The new edition covers calls to Java methods from within PL/SQL programs, autonomous transactions, object type inheritance, and the new Timestamp and XMLType data types. There’s also more ...

    Oracle数据库SQL基本应用与介绍

    Oracle是能够安装在目前为止所有的计算机上并进行驱动运行的关系型数据库管理系统。Oracle数据库内部的数据操作可以通过sql语句执行处理,sql与C、Basic等语言不通,数据的访问方法和操作顺序不用正确指定,是要告诉...

    Expert.Oracle.Database.Architecture.9i.and.10g

    SQL*Loader 649 Loading Data with SQLLDR FAQs 653 SQLLDR Caveats 679 SQLLDR Summary 680 External Tables 680 Setting Up External Tables 681 Dealing with Errors 687 Using an External Table to Load ...

    Oracle编程艺术

    设置SQL*Plus 的AUTOTRACE ......................................................... 35 配置Statspack............................................................................. 37 定制脚本...............

    Oracle数据库语句大全.doc

    Oracle 数据库语句大全还包括各种 SQL 函数,例如 SYSDATE 和 SYSTIMESTAMP,用于返回系统当前日期、时间和时区。 三.数据控制语言(DCL) 数据控制语言(DCL)用于控制数据库的访问权限,包括授予用户权限和...

    SQL计算timestamp的差值的方法

    SQL计算timestamp的差值的方法 概述 有时候我们需要按照时间找出某些记录,比如说:算出离销售时间前1个小时的记录。 通常我们可以使用MYSQL的timestampdiff函数来做,但是这样没法使用到索引,如果数据量大的话,...

    ORACLE sql 星期几 一个月的第几天等 方法

    ORACLE SQL 日期函数应用 Oracle SQL 提供了多种日期函数和格式化选项,帮助开发者轻松地处理日期相关的计算和格式化。在这个资源中,我们将讨论如何使用 Oracle SQL 来获取星期几、一个月的第几天、一个年的第几天...

    赤兔Oracle数据库恢复软件 v11.6.zip

    赤兔Oracle数据库恢复软件是一款专业好用的Oracle数据库抢修恢复软件。软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失...

    Oracle date 和 timestamp 区别详解

    Oracle date 和 timestamp 区别详解 1.DATE数据类型  这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型。它可以存储月,年,日,世纪,时,分和秒。它典型地用来表示什么时候事情...

    DtSQL通用数据库管理工具

    支持的数据库包括:Cache, DB2, Derby, Firebird, FrontBase, H2, HSQLDB, Informix, Ingres, JDatastore, MaxDB, Mckoi, Mimer, MySQL, Oracle, PointBase, PostgresSQL, Solid, SQLite, SQL Server, SQL Anywhere, ...

    使用Oracle中的时间间隔型数据

    在Oracle 9i中,按照SQL 99标准,增加了时间间隔型数据INTERVAL YEAR TO MONTH 和 INTERVAL DAY TO SECOND,它们和其他几种数据类型一起使得对时间的处理更加准确。TIMESTAMP、TIMESTAMP WITH TIME ZONE和TIMESTAMP ...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    oracle 10.2.0.1 精简客户端

    3、可使用自带的SQL Plus连接Oracle服务器,可以配合PLSQL Developer使用。为减小软件体积,没有对PL/SQL Developer打包,请用户自行下载。 ------------------------------------ >移除了OLE DB/ODBC相关的几个...

    Oracle_Database_11g完全参考手册.part2/3

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...

Global site tag (gtag.js) - Google Analytics