Oracle 学习积累
文章平均质量分 55
jojo52013145
这个作者很懒,什么都没留下…
展开
-
Oracle 时间延迟
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒sysdate+5/24/60 在系统时间基础上延迟5分钟sysdate+5/24 在系统时间基础上延迟5小时sysdate+5 在系统时间基础上延迟5天add_months(sysdate,-5) 在系统时间基础原创 2011-07-27 13:47:46 · 1126 阅读 · 0 评论 -
ORACLE 时间类型及函数处理
一、date类型使用而date类型相减只得到天数SQL> SELECT sysdate-(sysdate-1) FROM dual;SYSDATE-(SYSDATE-1)------------------- 1 做个试验:create table t2 (d1 date,d2 date) ;--创建一个表INSERT INTO原创 2011-09-27 23:58:27 · 1772 阅读 · 0 评论 -
Oracle10g中SCN与TimeStamp的相互转换
首先通过dbms_flashback.get_system_change_number 可以获得系统当前的SCN值:SQL> col scn for 9999999999999SQL> select dbms_flashback.get_system_change_number scn from dual;SCN--------------8908390522972原创 2011-11-29 08:43:48 · 821 阅读 · 0 评论 -
SQL每月自然周(中国习惯)
select trunc(to_number(trunc(sysdate + 7 - (case when to_char(sysdate, 'd') = '7' then '6' when to_char原创 2012-02-04 14:39:35 · 2043 阅读 · 1 评论 -
Oracle 查询并删除重复记录的SQL语句
查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重转载 2012-02-14 09:41:54 · 683 阅读 · 0 评论 -
oracle timestamp 毫秒差计算函数
CREATE OR REPLACE FUNCTION fn_timestamp_cha(endtime in TIMESTAMP, starttime in TIMESTAMP) RETURN INTEGER AS str VARCHAR2(50);转载 2012-02-28 11:59:23 · 3897 阅读 · 0 评论 -
OLTP与OLAP理解
OLTP:On_line Transaction Processing 联机事务处理 OLAP:On_line Analytical Processing 联机分析处理OLTP 顾名思义,以业务处理为主。OLAP则是专门为支持复杂的分析操作而设计的,侧重于对决策人员和高层管理人员的决策支持,可以应分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并以一直直观的形式把查询结果提供。转载 2012-05-02 17:11:12 · 11299 阅读 · 0 评论 -
PowerDesigner从oracle中生成PDM
Power Designer是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。Power Designer的4种模型:概念数据模型 (CDM)转载 2012-06-20 14:29:18 · 2458 阅读 · 1 评论 -
Oracle 开发中
1.动态游标中,varchar2参数拼装sql语句时,出现的问题问题:正常varchar2参数拼装sql语句时,其他游标都能正常执行,唯独动态游标,他执行的是实际语句,所以在拼装语句时,varchar2参数必须两边加单引号query_table := query_table||' and dim_buss_type='||proname;解决:加上双引号,在oracle中’单引号可以作原创 2011-07-26 11:45:22 · 876 阅读 · 0 评论 -
ORA-28000: the account is locked-的解决办法
ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去掉;第五步:点击“应用”再点击“关闭”;第六步:重新登录就可以通过验证了;转载 2012-11-10 14:01:49 · 1062 阅读 · 0 评论 -
Oracle两个数据库互相访问,DBLink使用
测试条件:假设某公司总部在北京,新疆有其下属的一个分公司。在本次测试中,新疆的计算机为本地计算机,即本要的IP地址为:192.168.1.100 北京的总部有一个集中的数据库,其SID是SIDBJ,用户名:userbj,密码:bj123,北京的IP地址是:192.168.1.101。在本地(新疆)的分公司也有一个数据库,其SID是SIDXJ,用户:userxj,密码:xj123,新转载 2012-12-17 16:47:20 · 8069 阅读 · 0 评论 -
开发工具:Oracle SQL Developer与PL/SQL Developer
之前作为一个Oracle Employee,却总是在使用PL/SQL Developer(而且是破解版),这实在有些说不过去,但是如何找到一个合心趁手的能够在有条件的情况下比SQL*PLUS更方便的工具却实在不是一件简单的事情,以前期待tora被Quest收购以后会有长足发展,可惜,并没有看到最终的结果。之前曾经说过,PL/SQL Developer对于我最难以割舍的是completionin转载 2011-12-11 13:02:01 · 1166 阅读 · 0 评论 -
Oracle中使用关键字作为字段名的方法
使用P/L SQL建表时,如果使用了关键字作为字段名,如:uid,type,date等,会提示出错无效的标识符(invalid identifier)。在一些情况不得不使用关键字作为字段名时,就像一些系统升级时,从其它数据库改为oracle时,该什么办呢。经验证, 解决办法是使用双引号“”,如“type”,同样insert等语句也是一样操作create table Test_Tab(原创 2011-11-12 13:48:48 · 4105 阅读 · 0 评论 -
oracle count(*),count(1)与count(rowid)区别
count(*),会把星号翻译成字段的名字,计算分组下重复的行数。count(1),你可以理解成有个字段,这个字段就是固定值1,那么也是计算分组下重复的行数。同理,count(2), count(3)或者count('x')等等都是一样的结果。count(rowid)也是一样当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了!从执行原创 2011-11-09 11:27:59 · 3170 阅读 · 0 评论 -
Oracle年/月/日/小时/分钟/秒 加减操作
numtoyminterval函数——数字转换函数 语法:NUMTOYMINTERVAL ( n , 'char_expr' ) char_expr:日期描述,可以是YEAR和MONTH; 作用:可以将数字转换成相应的日期单位时间原创 2011-08-02 16:06:08 · 2375 阅读 · 0 评论 -
oracle定时任务 时间间隔
当定义oracle定时任务时,时间间隔的定义是,一次任务的结束时刻到另一次任务的开始时刻。例:select (TRUNC(sysdate,'mi') + 1 / (24*60)),(sysdate + 1 / (24*60)) from dual错误:sysd原创 2011-08-24 19:29:14 · 1408 阅读 · 0 评论 -
PLS_INTEGER和BINARY_INTEGER以及NUMBER
PLS_INTEGER可以存储一个有符号的整形值,其精度范围和BINARY_INTEGER一样,是:-2^31~2^31。PLS_INTEGER和NUMBER比较起来,其优点是:1).占有较少的存储空间;2).可以直接进行算术运算(在NUMBER上不能直接进行算术运算原创 2011-09-28 00:00:57 · 1368 阅读 · 0 评论 -
How to convert long timestamp to oracle date type
没有现成的函数,需要手写函数:* 将时间戳(从1970-1-1至今的毫秒数)转为Oracle的时间类型select TO_DATE ('01/01/1970' , 'MM/DD/YYYY') + 1251130204001 / (1000 * 60 * 60 *原创 2011-05-30 15:51:00 · 2128 阅读 · 0 评论 -
Oracle trunc时间截断
TRUNC()函數分兩種1.TRUNC(for dates)TRUNC函数为指定元素而截去的日期值。其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期原创 2011-05-27 15:31:00 · 2400 阅读 · 0 评论 -
Oracle 时间差计算
两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒):天:ROUND(TO_NUMBER(END_DATE - START_DATE))小时:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)分钟:ROUND(TO_NUMBER(END_DATE - START_DATE原创 2011-11-22 09:18:34 · 64341 阅读 · 0 评论 -
数据库和数据仓库的区别
数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。(维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数原创 2011-11-26 12:03:50 · 64 阅读 · 0 评论 -
数据库和数据仓库的区别
数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。(维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数原创 2011-11-26 12:05:01 · 839 阅读 · 0 评论 -
ORACLE trunc()函数与round()函数对于数字的处理
一.TRUNC函数1.TRUNC(for dates)TRUNC函数为指定元素而截去的日期值。其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去下面是该函数的使用情况:TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mo原创 2011-11-07 09:24:27 · 1068 阅读 · 0 评论 -
Oracle查询中rownum与Order by查询的关系(取数据的前几条)
在开发应用的时候,把数据按照一定的规则排序后再取前几条数据这种操作是很平常的事情。我们在Oracle中常用的就是order by,然后取得rownum小于多少的数据这种方法。不过如果对Oracle不熟悉,也许就会发现你写的SQL语句检索出来的值不正确,这个是为什么呢.因为Oracle在检索的时候,会首先把数据都检索出来,然后在排序段中进行排序(也就是说,先有rownum值,然后才原创 2011-11-29 16:32:21 · 3590 阅读 · 1 评论 -
Oracle Database link 使用,链接两个不同服务器数据库
物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。数据库之间的链接建立在DATABASE LINK上。要创建一个DATABASE LINK,必须首先在建立链接的数据库转载 2012-12-19 18:03:05 · 9205 阅读 · 2 评论