Oracle
A狼行天下A
这个作者很懒,什么都没留下…
展开
-
【转】oracle lag与lead分析函数简介
lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数我们可以取到当前行列的偏移N行列的值 lag可以看着是正的向上的偏移 lead可以认为负的向下的偏移 具体我们来看几个例子:我们先看下scott的emp表的两列数据:select deptno, sal from scott.emp order by deptnoDEPTNO SAL10 2450.0010 5转载 2013-11-13 22:30:44 · 790 阅读 · 0 评论 -
Oracle中时间段转换
问题描述: 将一天24小时分成三个时间段08:30-16:30、16:30-00:30、00:30-08:30,就拿今天(2014年1月9号)来说,如果是00:00:00-00:29:00,那么就将日期改为2014年1月8号(以上时间段内,天数前推一天),其它时间段的时间就按今天的时间显示。原创 2014-01-09 09:58:18 · 883 阅读 · 2 评论 -
【转】win7旗舰版(64位)环境下oracle11g的安装方法
我的环境:操作系统:windows7旗舰版(64位)数据库:64位Oracle11g(win64_11gR2)PL/SQL:PL/SQL developer v9.0.1准备工作:1、下载Oracle11g( Microsoft Windows (x64))下载路径:http://www.oracle.com/technetwork/database/enterprise-转载 2014-01-02 17:06:04 · 1262 阅读 · 0 评论 -
数字左右翻转
编写一个程序,输入一个整数,使用循环结构将该数字左右翻转,输出翻转后的结果。例如,输入“12”,原创 2014-09-01 18:04:07 · 1651 阅读 · 0 评论 -
Oracle学习随笔
1.创建表空间:create tablespace sshe datafile 'D:\Install\app\JTzhang\oradata\orcl\ssh.dbf' size 100m autoextend on;原创 2013-12-30 14:31:36 · 445 阅读 · 0 评论 -
Oracle中merge into的使用
http://blog.csdn.net/yuzhic/article/details/1896878http://blog.csdn.net/macle2010/article/details/5980965该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做了转载 2014-04-02 14:10:33 · 549 阅读 · 0 评论 -
Oracle取前一点或后一点数据
eg:create table t_tmp as select 1 p,5 x,4 v from dualunionselect 2,4,6 from dualunionselect 3,6,8 from dualunionselect 4,9,5 from dualunionselect 5,3,7 from dual;select * fr转载 2013-12-10 15:53:02 · 721 阅读 · 0 评论 -
Orale行列转置(摘抄)
1、固定列数的行列转换如student subject grade--------- ---------- --------student1 语文 80student1 数学 70student1 英语 60student2 语文 90student2 数学 80student2 英语 100……转换为语文 数学 英语student1 80 70转载 2013-11-13 22:24:08 · 903 阅读 · 0 评论 -
Oracle数据库表主键自增长的一个问题
第一次学习Oracle数据库,发现了以下问题:听说Oracle的主键自增长策略要写序列,写个随便的上网查查也能解决,这里我需要一个要求主键必须是两位数(从00-99)变化,不循环。自己不会写只好先将主键用UUID生成了一个随机数:leaveinfo.setLid(UUID.randomUUID().toString());放在了相关的service中,上面的那个序列如何写?求高手帮助,还有一个原创 2012-10-29 08:41:19 · 646 阅读 · 0 评论 -
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
在Windows 64位系统中安装Oracle11g,配置PL/SQL Developer连接64位数据(http://blog.csdn.net/cselmu9/article/details/8070728/)库重启电脑后用SQL Plus可以连接数据库,但是用PL/SQL Developer连接提示:“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”。转载 2016-06-13 11:07:48 · 1124 阅读 · 0 评论 -
PL/SQL Developer如何连接64位的Oracle图解
由于硬件技术的不断更新,Win7系统逐渐成为主流,而且计算机内存逐渐增大,为了充分的利用内存资源(因为32为系统最多只能用到3G左右的内存),提高系统性能,很多人开始使用Win7(64Bit)的系统。在64位系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他途径转载 2017-05-05 15:52:31 · 577 阅读 · 0 评论 -
PLSQL Developer中文显示乱码的解决方法
PLSQL Developer中文显示乱码是因为Oracle数据库所用的编码和PLSQL Developer所用的编码不同所导致的。解决方法:1. 先查询Oracle所用的编码[sql] view plain copy select userenv('language') from dual; 2. 设置PLSQ转载 2017-05-09 11:42:28 · 2050 阅读 · 0 评论 -
Oracle中分区表的使用
前提: 查询分区:Select *From user_extents WHERE partition_name='分区名';1)创建表空间 create tablespace HRPM0 datafile '/oradata/misdb/HRPM0.DBF' size 5m autoextend on next 10m maxsize unlimited2)删除表空间(转载 2017-08-14 09:12:50 · 751 阅读 · 0 评论 -
数据采集接口设计
该贴讨论:实现不同级之间数据采集功能,并对数据分析和处理,以下是详细情况描述。 有L2过程控制系统(PCS),数据库是Oracle。现要求做一个数据采集平台(SC),数据库也是Oracle,将PCS数据库中新的数据采集到SC数据库,然后将SC采集的数据发送给L3(MES),MES数据库也是Oracle。原创 2014-04-11 17:15:51 · 1792 阅读 · 0 评论 -
Oracle 特殊符号'&'的处理
在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串“SQL&Plus”系统会理解为以“SQL”打头的字符串,它会提示你输入替代变量Plus的值,如果你输入ABC,则最终字符串转化为“SQLABC”。方法一:set define offset d转载 2014-08-29 15:02:27 · 3500 阅读 · 0 评论 -
编写一个过程将查询的字段和where条件中的字符串值动态调用
以scott用户中的emp表为例,编写一个存储过程查询emp表中某个字段的值,但是要查那个字段是不确定的,where条件中传入的字符串也是不确定的。DECLARE v_a VARCHAR2(20) := 'sal'; v_sql VARCHAR2(200); TYPE tab_org_name IS TABLE OF VARCHAR2(50);原创 2015-01-26 23:56:08 · 1851 阅读 · 0 评论 -
Toad for Oracle 12.1下载地址
32 位版:http://us-downloads.quest.com/Repository/support.quest.com/Toad for Oracle/12.1/Software/Toad for Oracle 12.1.msihttp://us-downloads.quest.com/Repository/support.quest.com/Toad for Ora转载 2014-01-03 15:29:58 · 6254 阅读 · 0 评论 -
Oracle 客户端注册表字符集修改,解决数据库导入时乱码
1.打开运行窗口(windows快捷键“Win+R”);2.输入“regedit”,按下Enter后打开注册表编辑器;3.将“HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1”下的“NLS_LANG”的“数据”改为需要的字符集;以下是几个常用字符集(没搜集全):AMERICAN_AMERICA.WE8ISO8859P1原创 2014-01-13 10:56:49 · 8580 阅读 · 0 评论 -
Oracle lpad()、rpad()函数
LPAD(c1,i,c2) 其中,c1,c2均为字符串,i为整数。在c1的左侧用c2字符串补足长度i,可多次重复,如果i小于c1的长度,那么只返回长度为i的c1字符,其他的将被截去。c2的默认值为单空格。RPAD(c1,i,c2) 在c1的左侧用c2字符串补足长度i,可多次重复,如果i小于c1的长度,那么只返回长度为i的c1字符,其他的将被截去。c2原创 2014-01-15 10:01:08 · 726 阅读 · 0 评论 -
Oracle数字函数
数字函数操作数字数据,执行数学和算术运算。所有函数都有数字参数并返回数字值。所有三角函数的操作数和值都是弧度而不是角度,Oracle没有提供内建的弧度和角度的转换函数。ABS(n):返回n的绝对值。ACOS(n):反余弦函数,返回-1到1之间的数,n表示弧度。 ASIN(n):反正弦函数,返回-1到1之间的数,n表示弧度。ATAN(n):反正切函数,返回n的反正切值,n表示弧度。CEI原创 2014-01-15 10:43:57 · 682 阅读 · 0 评论 -
Oracle日期函数
日期函数操作DATE数据类型,大多数都有DATE数据类型的参数,且大多数返回的也是DATE数据类型的值。ADD_MONTHS(d,i):返回日期d加上i个月后的结果,i可以是任意整数。如果i是一个小数,那么数据库将隐式地将其转换成整数,截去小数点后面的部分。LAST_DAY(d):此函数返回包含日期d月份的最后一天。MONTHS_BETWEEN(d1,d2):返回d1和d2之间月的数目,如原创 2014-01-15 11:40:52 · 649 阅读 · 0 评论 -
Oracle分组函数之CUBE魅力
Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手。 关于ROLLUP的查询统计功能请参考文章《【ROLLUP】Oracle分组函数之ROLLUP魅力》(http://space.itpub.net/519536/viewspace-610995)。1.先看一下ROLLUP的数据统计效果1)创建测试表group_testcreate ta原创 2014-01-15 16:17:34 · 606 阅读 · 0 评论 -
Oracle中的NVL()、NVL2()、NULLIF()、Coalesce()函数
大家先来看看下面这道简单的题目:1. TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型VARCHAR2(10)。在Oracle中发出下列语句:insert into test(testcol,testcol_2) values (null, ‘FRANCIS’)A.Oracle返回结果0原创 2014-01-16 20:11:58 · 973 阅读 · 0 评论 -
如何删除子查询与主查询中组函数执行的重复
下列代码块显示的查询包含一个子查询:select dname, avg(sal) as dept_avgfrom emp, deptwhere emp.deptno = dept.deptnogroup by dname having avg(sal) > ( select avg(sal)*1/4 from emp,dept whe原创 2014-01-17 10:31:46 · 1084 阅读 · 0 评论 -
左连接,右连接,+
oracle的左外连接右外连接及其简写(+)左外连接select a.*,b.*from tableA a left join tableB b on a.id=b.id 等价于 select a.*,b.* from tableA a,tableB b where a.id=b.id(+)这个表示选择所有tableA的记录,如果不满足a.id=b原创 2014-01-17 11:27:44 · 690 阅读 · 0 评论 -
Where语句设置不当导致索引失效
虽然说索引在使用上可能有种种限制,但是还是在数据库设计中被充分利用。因为在大部分情况下索引还是被用来提高数据库性能的一个工具。不过有些数据库工程师往往会犯一些低级的错误,导致索引失效。如在Where条件子句中设置了不合适的条件,从而在查询等操作时导致原先在表中设置的索引不起作用。笔者以前也多次犯过类似的错误。笔者今天在这里就抛砖引玉,把这些常见的问题总结一下。希望后来的人能够尽量少犯这些错误。转载 2014-04-02 13:51:59 · 4262 阅读 · 0 评论 -
Oracle行列转置
情形一:1.创建测试表,并写入测试数据create table TEST( id NUMBER not null, bz1 NVARCHAR2(10), bz2 NVARCHAR2(10), v1 NVARCHAR2(30), v2 NVARCHAR2(30), name VARCHAR2(30))insert into TEST原创 2013-11-13 21:18:45 · 1706 阅读 · 0 评论 -
Oracle数据库中Char型变量的一个问题
Oracle数据库中,员工信息表中员工的“性别”定义为Char(2),第一次修改员工信息的时候是合适的,但是为啥当第二次修改员工信息时会出现以下错误?当将表中类型定义为Char(4),修改表后的第一次修改员工的信息的时候是合适的,但是多次操作后还是会出现同样的问题。求高手指点。原创 2012-10-29 08:29:13 · 495 阅读 · 0 评论 -
Oracle sysdate 时间加减
加法select sysdate,add_months(sysdate,12) from dual; --加1年select sysdate,add_months(sysdate,1) from dual; --加1月select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:转载 2017-12-20 11:24:29 · 923 阅读 · 0 评论