
ORACLE PL/SQL
文章平均质量分 56
tony2009
这个作者很懒,什么都没留下…
展开
-
oracle extract()截取时间值函数
//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 //语法如下: EXTRACT ( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | TIMEZONE_MINUTE }转载 2012-07-25 09:29:58 · 939 阅读 · 0 评论 -
好的oracle 博客
http://blog.youkuaiyun.com/BOBO12082119/article/category/758446/2http://blog.youkuaiyun.com/tanyit/article/details/6937366http://yangtingkun.itpub.net/post/468/273645http://www.5ienet.com/note/html/dg/datag原创 2012-07-25 09:45:32 · 461 阅读 · 0 评论 -
pls_integer类型
PLS_INTEGER可以存储一个有符号的整形值,其精度范围和BINARY_INTEGER一样,是:-2^31~2^31。PLS_INTEGER和NUMBER比较起来,其优点是:1).占有较少的存储空间;2).可以直接进行算术运算(在NUMBER上不能直接进行算术运算,如果要计算,NUMBER必须先被转换成二进制)。所以在进行算术的时候PLS_INTEGER比NUMBER和BINA转载 2012-11-28 17:58:04 · 552 阅读 · 0 评论 -
oracle split
create or replace function split( p_list varchar2, p_del varchar2 := '.') return split_tbl pipelinedis l_idx pls_integer; l_list varchar2(32767) := p_lis原创 2012-11-28 14:38:05 · 684 阅读 · 0 评论 -
好长的SQL
SELECT CUS, CARTONNO, STYLENO, STYLEDESC, COLOR, SIZ, SUM(QTY) QTY, SIZRUN, SEQ FROM ( SELECT CUS, CARTONNO, STYLENO, B21JC原创 2012-07-31 10:37:55 · 587 阅读 · 0 评论 -
oracle 闰年判断
//闰年最直接的判断是:能被4整除且不能被100整除,或者能被400整除的年份 create or replace procedure pro_leap_year(year_in in number) as v_mod1 number(4) :=mod(year_in,4); v_mod2 number(4) :=mod(year_in,100); v_m转载 2012-07-25 09:43:20 · 1282 阅读 · 0 评论 -
oracle union all和order by一起使用
//有时候,我们会将进过排序(order by)后的结果集与 //其他经过排序的结果集进行合并(union or union all) //比如: select * from tb where length(id)=5 order by id desc union all select * from tb where length(i转载 2012-07-25 09:40:37 · 1021 阅读 · 0 评论 -
oracle nullif函数的使用
//题目: ID NAME ------------ 1 张 1 王 2 赵 //结果: ID NAME -------- 1 张 王 2 赵 //解法一: with t as( select 1 id, '张' name from dual union a转载 2012-07-25 09:38:21 · 896 阅读 · 0 评论 -
oracle row_number()函数的小实例
//实例1: //ta表 A B C 1 2 3 1 2 4 1 2 5 1 2 6 //tb表 A B D 1 2 100 1 2 200 1 2 300 //结果: A B C D 1 2 3 100 1 2 4 200 1 2 5 300 1 2 6 //分析: //典型的左连接问题,但是这里需要将相应的行对应到指定的行上去, //我们使用转载 2012-07-25 09:28:07 · 1354 阅读 · 0 评论 -
oracle 一行列转换问题
//A表: c1 c2 22 a 25 b 26 c 46 d //B表: c3 c4 1 “22,25,26,46,” //结果: tb_c3 ta_c2 1 a,b,c,d //分析: //从结果可以看出来,这是一个将行数据转换为列数据的问题,可以根据b表中的c4列来连接a,b两个表; //现在的首要问题是,将b表中的c4列转换为4个行,然后与a转载 2012-07-25 09:26:22 · 517 阅读 · 0 评论 -
oracle 学会怎么样分解复杂的问题
//问题 表TEST: ID 姓名 消费 日期 退休标志(1-在岗,2-退休) 004 张三 20 2010-05-11 1 007 李四 50 2010-06-23 1 002 王五 10 2010-06-23 2 004 张三 100 2010-07-20 2 //按退休标志分组,统计消费人次和金额,结果为: 退休标志 消费人次 消费转载 2012-07-25 09:36:14 · 414 阅读 · 0 评论 -
触发器
如果有 for each row 了 就不用select insert into tb_name(c1,c2,c3,...,cn) values(:old.c1,:old.c2,:old.c3,...,:old.cn); 如果是要将更改后的值插入另外表,就用:new如果是要将更改前的值插入另外表,就用:old原创 2013-04-10 11:30:18 · 520 阅读 · 0 评论