随笔分类 -  oracle

Oracle raw数据类型
摘要:RAW的声明方式为RAW(L),L为长度,以字节为单位,它存数的是16进制的数据。作为数据库列最大2000,作为变量最大32767字节。RAW类型的好处就是:在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW 数据从一个数据库移到另一个数据库时,Oracle 服务器... 阅读全文

posted @ 2016-01-01 17:33 奈何作贼 阅读(688) 评论(0) 推荐(0)

oracle 定时任务(DBMS_JOB)
摘要:示例如下:-- 每隔一分钟执行存储过程p1create or replace procedure p2 as job_num number;begin dbms_job.submit(job_num, 'p1;', sysdate, 'sysdate + 1/1440'); dbm... 阅读全文

posted @ 2015-11-26 10:22 奈何作贼 阅读(226) 评论(0) 推荐(0)

oracle 查看表的相关信息
摘要:1.查看当前用户的表SELECT * FROM user_tables;2.查看指定用户的表SELECT * FROM all_tables WHERE owner = 'SYS'; 阅读全文

posted @ 2015-11-23 14:06 奈何作贼 阅读(216) 评论(0) 推荐(0)

常用的表操作
摘要:1.添加列ALTER TABLE table_nameADD column_name datatype [DEFAULT EXPR];2.给列添加注释COMMENT ON COLUMN table_name.column_name IS 'OOXX'; 3.修改列的数据类型ALTER TABLE t... 阅读全文

posted @ 2015-11-13 13:45 奈何作贼 阅读(149) 评论(0) 推荐(0)

给结果集分页
摘要:为了便于查询网页中的数据,常常要分页显示。如:要求员工表按工资排序后一次只显示5行数据,下次再显示接下来的5行,以下以第二页数据(6到10行)为例进行分页。SQL代码如下:SELECT rn, ename, sal FROM (SELECT ROWNUM AS rn, ename, sal ... 阅读全文

posted @ 2015-10-25 21:02 奈何作贼 阅读(453) 评论(0) 推荐(0)

确定指定年份季度的开始日期和结束日期
摘要:SQL代码如下:SELECT sn AS 季度, (sn - 1) * 3 + 1 AS 开始月份, ADD_MONTHS(TRUNC(TO_DATE(年, 'yyyy'), 'yy'), (sn - 1) * 3) AS 开始日期, ADD_MONTHS(TRU... 阅读全文

posted @ 2015-10-21 21:01 奈何作贼 阅读(663) 评论(0) 推荐(0)

从date中获取相应信息
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT TO_DATE('2015-5-5 13:14:15', 'YYYY-MM-DD HH24:MI:SS') AS c FROM DUAL;SELECT * FROM v;SQL代码如下:SELECT c, ... 阅读全文

posted @ 2015-10-21 20:13 奈何作贼 阅读(328) 评论(0) 推荐(0)

确定当前记录和下一条记录之间相差的天数
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT '1' AS id, DATE'2015-1-1' AS hiredate FROM DUALUNION ALLSELECT '2' AS id, DATE'2015-5-1' AS hiredate FROM DUA... 阅读全文

posted @ 2015-10-21 19:43 奈何作贼 阅读(213) 评论(0) 推荐(0)

日期间隔之年、月、日、时、分、秒
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT TO_DATE('2015-1-1 13:14:15', 'YYYY-MM-DD HH24:MI:SS') AS c FROM DUAL;SELECT * FROM v;两个date相减,得到的就是天数,乘以24就是小... 阅读全文

posted @ 2015-10-21 19:14 奈何作贼 阅读(420) 评论(0) 推荐(0)

加减年、月、日、时、分、秒
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT TO_DATE('2015-1-1 13:14:15', 'YYYY-MM-DD HH24:MI:SS') AS c FROM DUAL;SELECT * FROM v;在Oracle中,date类型可以直接加减天数,... 阅读全文

posted @ 2015-10-21 16:51 奈何作贼 阅读(290) 评论(0) 推荐(0)

求总和的百分比
摘要:现已知各部门的员工工资,要求计算各部门工资合计,以及合计工资占总工资的比例。创建测试用表:CREATE OR REPLACE VIEW v ASSELECT '10' AS depno, '101' AS empno, 'A' AS ename, '2000' AS sal FROM DUALUNI... 阅读全文

posted @ 2015-10-20 19:58 奈何作贼 阅读(699) 评论(0) 推荐(0)

返回最值所在行数据
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT '10' AS depno, '101' AS empno, 'A' AS ename, '2000' AS sal FROM DUALUNION ALLSELECT '10' AS depno, '102' AS e... 阅读全文

posted @ 2015-10-20 19:25 奈何作贼 阅读(249) 评论(0) 推荐(0)

返回各部门工资排名前三位的员工
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT '20' AS depno, '101' AS empno, '3000' AS sal FROM DUALUNION ALLSELECT '20' AS depno, '102' AS empno, '3000' A... 阅读全文

posted @ 2015-10-20 15:23 奈何作贼 阅读(1127) 评论(0) 推荐(0)

生成累计和
摘要:公司为了查看用人成本,需要对员工的工资进行累加,以便察看员工人数与工资支出之间的对应关系。下面按照进入公司的先后顺序(人员编号:empno)来累加察看。创建测试用表:CREATE OR REPLACE VIEW v ASSELECT '101' AS empno, 'ALLEN' AS ename,... 阅读全文

posted @ 2015-10-20 14:38 奈何作贼 阅读(150) 评论(0) 推荐(0)

将字符和数字数据分离
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT 'A1' AS c FROM DUALUNION ALLSELECT '12B' AS c FROM DUAL;SELECT * FROM v;SQL代码如下:SELECT REGEXP_REPLACE(c, '[0-... 阅读全文

posted @ 2015-10-19 16:50 奈何作贼 阅读(368) 评论(0) 推荐(0)

从字符串中删除不需要的字符
摘要:员工姓名中有元音字母(AEIOU),现在要求将这些元音字母都去掉。创建测试用表:CREATE OR REPLACE VIEW v ASSELECT 'CLARK' AS ename FROM DUALUNION ALLSELECT 'KING' AS ename FROM DUALUNION ALL... 阅读全文

posted @ 2015-10-19 16:29 奈何作贼 阅读(479) 评论(0) 推荐(0)

计算字符在字符串中出现的次数
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT 'A,B,C' AS c FROM DUAL;现在要求计算列c中“,”出现的次数,Oracle 11g 给出了新函数REGEXP_COUNT,我们可以直接引用。SELECT REGEXP_COUNT(c, ',') A... 阅读全文

posted @ 2015-10-19 14:41 奈何作贼 阅读(233) 评论(0) 推荐(0)

字符串文字中包含引号
摘要:常常有人写SQL时不知道在字符串内的单引号怎么写,其实只要把一个单引号换成两个单引号表示就可以。示例如下:SELECT '''' AS c FROM DUALUNION ALLSELECT 'GOO''D' AS c FROM DUAL;另外,Oracle10g开始引入了q-quote特性,使用q-... 阅读全文

posted @ 2015-10-19 14:06 奈何作贼 阅读(950) 评论(0) 推荐(0)

遍历字符串
摘要:创建测试用表:CREATE OR REPLACE VIEW v ASSELECT '好好学习' AS c FROM DUAL;SELECT * FROM v;sql代码如下:SELECT SUBSTR(c, LEVEL, 1) AS c FROM v CONNECT BY LEVEL <= LENG... 阅读全文

posted @ 2015-10-18 15:55 奈何作贼 阅读(151) 评论(0) 推荐(0)

删除重复的记录
摘要:因是手动录入数据,所以经常会产生重复的数据,这时就需要删除多余的数据。创建测试用表:CREATE TABLE dupes( id integer, name varchar(10));INSERT INTO dupes VALUES(1, 'TOM');INSERT INTO dupes... 阅读全文

posted @ 2015-10-16 15:12 奈何作贼 阅读(361) 评论(0) 推荐(0)

导航