
ORACLE
辰影
人笨不能怨社会我不怨我不怨
展开
-
使用Partitioned Outer Join实现稠化报表
使用Partitioned Outer Join实现稠化报表作者:丁俊(dingjun123)背景介绍:在数据库表中,存储的数据经常是稀疏数据(sparse data),而不是稠密数据(dense data)。先来了解一下什么是稀疏数据,比如一个产品销售情况表(比如有产品名、销售时间(精确到年月)、销售量3个列),假设某个时间某些产品它没有销售,一般也不会将这些产品的销售量存储为0,而转载 2013-05-23 14:49:46 · 516 阅读 · 0 评论 -
ORACLE ROLLUP和CUBE的使用
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。 在文章的最后附上了相关表和记录创建的脚本。 1、向ROLLUP传递一列SQL> select division_id,sum(salary)转载 2014-05-12 19:34:38 · 355 阅读 · 0 评论 -
时间戳和日期的转换
SELECT (TO_DATE('19700101','yyyymmdd') + time_no/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24) FROM dual 时间戳转日期SELECT ((SYSDATE - TO_DATE('19700101','yyyymmdd'))*86400 - TO_NUMBER(S原创 2013-05-23 16:50:25 · 834 阅读 · 0 评论 -
增删改字段及表名
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);删除字段的语法:alter table t转载 2013-05-23 16:49:57 · 437 阅读 · 0 评论 -
提取数字函数之 translate
获取所有的数字:create or replace function get_num(temp varchar2) return varchar2 isResult varchar2(100) := '';g_Value varchar2(100) := trim(temp);g_Value_Len number := to_number(nvl(length(g转载 2013-05-23 16:49:21 · 749 阅读 · 0 评论 -
sqlldr总结
1. SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。2. 在NT下,SQL*LOADER的命令为SQLLDR,在UNIX下一般为sqlldr/sqlload(在/oracle/product/10.2.0/bin目录下可以看到存在sqlldr)。3. 用法: sqlldr关键字 = 值 [,keyword=value,...]转载 2013-05-23 16:46:25 · 751 阅读 · 0 评论 -
Oracle时间函数
(发现一些新方法,方便以后查阅)常用的时间格式 在oracle中有 yyyy-mm-dd hh24:mi:ss 而在Java中有些区别 为yyyy-MM-dd HH:mm:ss 这点还是经常容易模糊的。相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计。那在oracle中应该怎么来写sql语句呢,这个时候Oracle的日期函转载 2013-05-23 16:44:50 · 408 阅读 · 0 评论 -
reverse 反转函数原理
oracle 提供一个reverse函数,可以实现将一个对象反向转换.比如:SQL> select reverse('123456') from dual;REVERSE('123456')-----------------654321 由于这个函数,是针对数据库内部存储的对象编码进行反转的,因此,在比如:数字,中文等.因为实现存储的并不是直接编码后的结果,转载 2013-05-23 16:42:13 · 2011 阅读 · 0 评论 -
Oracle物化视图创建全过程
我们如果遇到需要从其它系统的数据库中取数据进行统计分析的问题,可疑选择使用ORACLE的ODI工具进行抽数,但是对方提供的数据库用户下没有任何对象,只是有查询所有表的权限,因此无法做数据反向。于是决定使用物化视图,把对方数据库中的数据拿过来,虽然数据量比较大,但是每月只拿一次,而且如果设置成增量更新,也不会太慢。现在记录下物化视图的创建过程(以一张表为例)。一、准备条件以及备注假设双方转载 2013-05-23 16:34:13 · 552 阅读 · 0 评论 -
oracle的dbms_output
1、如果dbms_output.put_line的内容不能显示,需要在命令行中先敲入set serveroutput on;只要敲一遍就好,之后dbms_output.put_line的内容就能显示出来了;2、dbms_output.put_line每行只能显示255个字符,超过了就会报错,报错内容如下 ORA-20000: ORU-10028: line length over转载 2013-05-23 15:40:15 · 574 阅读 · 0 评论 -
oracle中误truncate 表后的恢复数据方法
经测试,只有测试版,只能回复SYSTEM用户下的表做测试用。正式版要¥¥¥前几天在工作中不小心truncate了一个表, 而该表中的数据又是很重要的数据。并且该表数据又没有备份的,有备份的也不是最新的,一时之间不知如何是好。在网上找了很多资料,但没有一个很适合的,有适合的但又没详细说明,很无奈。经过多方面的查找,以下是我综合网上的资料,成功恢复表数据的详细步骤,供大家参考。以便遇到同样的问转载 2013-05-23 15:38:04 · 892 阅读 · 0 评论 -
群讨论--函数索引 -位图索引 -预防死锁
1)函数索引 2)位图索引 3)预防死锁。1)select * from T_SYS_LOG t where to_char(created_time,'yyyy-mm-dd')='2012-09-28'假如在created_time上建立了索引,则上述语句一定用不到索引。create index IX_CREATED_TIME_SYSLOG on T_SYS_LOG (CREATED原创 2013-05-23 16:35:30 · 797 阅读 · 0 评论 -
实用SQL语句大全
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'tes转载 2014-12-16 18:42:34 · 369 阅读 · 0 评论