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 ;

from http://xuechenyoyo.iteye.com/blog/373318

private String getDate(Object value) { Timestamp timestamp = null; try { timestamp = (Timestamp) value; } catch (Exception e) { timestamp = getOracleTimestamp(value); } if(timestamp!=n
文章目录0. 前言1. java . sql . Date 转化为 Local Date 2. java . sql . Timestamp 转化为 Local Date Time3. java .util. Date 转化为 Local Date 1. 使用Instant类(时间戳)作为中介 转化为 Local Date 2. 使用 java . sql . Date 作为中介 转化为 Local Date 4. java .util. Date 转化为 Local Date Time 0. 前言 若对jdk8的时间操作还不了解的,可以先看这篇文章:
Oracle 是能够安装在目前为止所有的计算机上并进行驱动运行的关系型数据库管理系统。 Oracle 数据库内部的数据操作可以通过 sql 语句执行处理, sql 与C、Basic等语言不通,数据的访问方法和操作顺序不用正确指定,是要告诉数据库引擎要做什么就可以了。 Oracle 不仅可以通过基本的 sql 进行简单的数据操作,还可使用对标准 sql 进行了扩展的PL/ SQL 语言,可使用如IF…THEN…、WHILE、LOOP等同结构化程序语言一样的构造制作程序,还有制作函数、过程、触发器等也用PL/ SQL 语言。 1976年 oracle 最初的版本1( Oracle V1)发行,到1988年 Oracle V6版本依次增加了表结合、副表查询、读取一致性、客户端/服务器结构的支持,记录排他等功能;从 Oracle V7开始进行了大幅度的改良增加了事务处理、触发器等等功能。 Oracle 的数据类型: 文字列型:CHAR、nchar、varchar2、nvarchar2、long 数值型:number、integer、float、int等。 日期型、期间型: date timestamp timestamp with time zone等。 Oracle 数据库对象:cluster、数据库联接、触发器、外部程序库、索引、 Java 类、演算子、表、视图等等
时间戳类型,与 date 的区别在于, date 不能精确到毫秒,而 timestamp 可以精确到毫秒,毫秒的位数为0-9位,默认为6位。 SQL > select tp from timestamp _test; -------------------------------------------------------------------------------- 01-3月 -16 09.22.33.000000 上午 TIMESTAMP WITH TIME ZONE TIMESTAMP WITH TIME ZONE 与 TIMES
今天做Excel导出,需要从数据库导出一个时间类型的字段create_time 然后就遇到一个 oracle 的时间类型 转换 的问题,不尽兴 转换 的话,导出的时间类似于这样 oracle . sql . TIMESTAMP @57c8f82b 在数据库中,create_time这个字段的类型如下:
Oracle date timestamp 区别详解 1. DATE 数据类型      这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到 date 类型。它可以存储月,年,日,世纪,时,分和秒。它典型地用来表示什么时候事情已经发生或将要发生。 DATE 数据类型的问题在于它表示两个事件发生时间间隔的度量粒度是秒。这个问题将在稍后讨论 timestamp 的时候被解决。可以使用TO_CHAR函数把 DATE 数据进行传统地包装,达到表示成多种格式的目的。 SQL > SELECT TO_CHAR( date 1,'MM/DD/YYYY HH24:MI:SS') " Date " FR
本安装包改自 http://download.csdn.net/download/mysky2008/4382509(安装后请重启以使PATH生效) 1、本软件可作为简单的 Oracle 10g客户端使用,包括:tnsping、exp、imp、 sql ldr、 sql plus、tkprof(新增)等功能,如对客户端功能有更高的使用要求,请安装官方 Oracle 客户端。 2、本软件安装后,连接 oracle 服务器时需要手动配置tnsnames.ora,用户可参照tnsnames.ora中的注释部分进行配置。 3、可使用自带的 SQL Plus连接 Oracle 服务器,可以配合PL SQL Developer使用。为减小软件体积,没有对PL/ SQL Developer打包,请用户自行下载。 ------------------------------------ >移除了OLE DB/ODBC相关的几个文件, 相应的注册表也一并移除 >加入OCCI相关的DLL文件,以支持occi程序的运行 >加入了 OCI 目录,该目录下的文件用于编译OCI程序 >在注册表中加入NLS_ DATE _FORMAT、NLS_ TIMESTAMP _FORMAT等环境变量 >修改了注册表中 Oracle _Home写死路径的BUG >完善一些错误消息提示
Coping with Legacy LONG Types 515 DATE , TIMESTAMP , and INTERVAL Types 520 Formats 521 DATE Type 522 TIMESTAMP Type 529 INTERVAL Type 537 LOB Types 540 Internal LOBs 541 BFILEs 553 ROWID/UROWID Types 555 Summary 556 ■CHAPTER 13 Partitioning 557 Partitioning Overview 558 Increased Availability 558 Reduced Administrative Burden 560 Enhanced Statement Performance 565 Table Partitioning Schemes 567 Range Partitioning 567 Hash Partitioning 570 List Partitioning 575 Composite Partitioning 577 Row Movement 579 Table Partitioning Schemes Wrap-Up 581 ■CONTENTS ix Partitioning Indexes 582 Local Indexes vs Global Indexes 583 Local Indexes 584 Global Indexes 590 Partitioning and Performance, Revisited 606 Auditing and Segment Space Compression 612 Summary 614 ■CHAPTER 14 Parallel Execution 615 When to Use Parallel Execution 616 A Parallel Processing Analogy 617 Parallel Query 618 Parallel DML 624 Parallel DDL 627 Parallel DDL and Data Loading Using External Tables 628 Parallel DDL and Extent Trimming 630 Parallel Recovery 639 Procedural Parallelism 639 Parallel Pipelined Functions 640 Do-It-Yourself Parallelism 643 Summary 648 ■CHAPTER 15 Data Loading and Unloading 649 SQL *Loader 649 Loading Data with SQL LDR FAQs 653 SQL LDR Caveats 679 SQL LDR Summary 680 External Tables 680 Setting Up External Tables 681 Dealing with Errors 687 Using an External Table to Load Different Files 690 Multiuser Issues 691 External Tables Summary 692 Flat File Unload 692 Data Pump Unload 701 Summary 703 ■INDEX 705
Oracle 数据库设计策略及规范 设计策略及规范 1. 目的 定义 Oracle 数据库设计规范,作为数据库规划、设计、开发以及维护人员的技术参考资料。用以规范和指导相关人员的设计行为。 2. 概述 本文档根据 Oracle 数据库性能特点,描述对表、视图、存储过程、对象命名等方面的设计规范。 3. 基本策略 3.1 设计策略 分类拆分数据量大的表。 对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。 分区策略 在拥有数500行以上的表时,采用分区策略。 索引设计。 对于大的数据库表,合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,应注意按照复合索引字段建立的顺序进行。例如,如果对一个5万多条记录的流水表以日期和流水号为序建立复合索引,由于在该表中日期的重复值接近整个表的记录数,用流水号进行查询所用的时间接近3秒;而如果以流水号为索引字段建立索引进行相同的查询,所用时间不到1秒。因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。 有时候为了提高性能。减少表的关联,恰当的数据冗余是允许的。 索引对新增,删除,更新的性能影响比较大,对相关的表的索引使用要权衡 为表和索引建立不同的表空间,禁止在系统表空间中放入非核心 oracle 系统成分的对象, 确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。 对于经常发生同时查询或频繁查询的表,最好把他放到不同的磁盘空间上 4. 逻辑设计规范 4.1 范式 如果没有性能上的原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余。 如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3NF。 4.2 表设计 对于数据量比较大的表,根据表数据的属性进行分区,以得到较好的性能。如果表按某些字段进行增长,则采用按字段值范围进行范围分区;如果表按某个字段的几个关键值进行分布,则采用列表分区;对于静态表,则采用Hash分区或列表分区;在范围分区中,如果数据按某关键字段均衡分布,则采用子分区的复合分区方法。 每个表均创建类型为Sequence的主键字段。 每个表中需含有如下几个基本字段:一个表的SEQ号,4个创建信息字段,5-8个备用字段,一个删除标记字段,最好还有一个行版本字段 字段名 类型 备注 业务SEQ号 整数型 作为表主键 OBLIGATE1 字符型 备用字段 OBLIGATE2 OBLIGATE3 OBLIGATE4 OBLIGATE5 CREATE_USER_ID VARCHAR 创建用户ID CREATE_ DATE TIME DATE 创建时间 LAST_UP DATE _USER_ID VARCHAR 更新用户ID LAST_UP DATE _ DATE TIME TIMESTAMP 更新时间 不要用Identify字段作为表的主键与其它表关联。 4.3 索引设计 常规OLTP应用,创建B-TREE索引,不创建位图索引。 不需要为小型数据表(<5000)创建索引。 给单个表创建的索引不超过5个,特别是海量交易类表。 索引条件查询结果记录,不超总记录的20%。 不要给固定选项的字段创建独立索引。 如只有'男,女'的性别字段;'是,否'的状态字段等,不要创建独立索引,位可以建立复合索引。 对于复合索引,索引字段顺序比较关键,把查询频率比较高的字段排在索引组合的最前面。 索引放到独立的表空间,该表空间不需要REDO LOG。 含有外键约束的表的字段,必须有单独索引。如订单明细的表头外键。 5. 对象命名规范 5.1 一般规范 5.1.1 语言 命名使用英文单词,不使用复数。 Oracle 数据库设计策略及规范全文共3页,当前为第1页。 英文单词使用同对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干的单词来命名。 Oracle 数据库设计策略及规范全文共3页,当前为第1页。 当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用简写或缩写,缩写要基本能表达原单词的意义。 当出现对象名重名时,是不同类型对象时,加类型前缀或后缀以示区别。 禁止使用中文或拼音缩写进行命名 5.1.2 大小写 名称一律大写,以方便不同数据库移植,以及避免程序调用问题 5.1.3 单词分隔 命名的各单词之间使用下划线进行分隔。 命名的各单词之间不允许有空格存在 5.1.4 保留字 命名不允许使用 SQL 保留字。 5.1.5
开发框架是jFinal。通过baseModel的find方法获取到 oracle 数据库中的数据记录。但是其中有字段是 timestamp 类型。现将object强转,然后再转为 Date . String sql = "SELECT * FROM T_USER WHERE USER_ID='"+UserID+"'"; Record result = Db.findFirst( sql ); oracle . sql ....
oracle 数据库中, timestamp 类型可以保存秒之后的精度,有时候我们在 java 代码中需要用到这个精度。在 Java 中从resultset中rs.getObject(colName)取得的字段类型为 oracle . sql . Timestamp ,而我们的pojo中需要的是 java . sql . timestamp ,这就需要 转换 一下,比如: oracle sql . TIMESTAMP colVal = ( oracle . sql . TIMESTAMP )rs.getObject(colName); Timestam...
可以使用Simple Date Format类来设置日期格式,然后使用它们之间的parse()和format()方法进行 转换 。例如,可以使用以下代码将 java . sql . Date 转换 java .util. Date java . sql . Date sql Date = new java . sql . Date (System.currentTimeMillis()); java .util. Date util Date = new java .util. Date ( sql Date .getTime()); 同样,可以使用以下代码将 java .util. Date 转换 java . sql . Date java .util. Date util Date = new java .util. Date (); java . sql . Date sql Date = new java . sql . Date (util Date .getTime()); 最后,可以使用以下代码将 java .util. Date 转换 java . sql . Timestamp java .util. Date util Date = new java .util. Date (); java . sql . Timestamp timestamp = new java . sql . Timestamp (util Date .getTime());