分类(Oracle)
Oracle常用函数用法
2009/03/05 10:04

#######instr###########################################
INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。
默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
SELECT INSTR('CORPORATE FLOOR', 'OR', 1, 1) "Instring" FROM DUAL
INSTR常与substr  结合使用,用来截取字符串。
例:  
------------------------------------------------------------
集团客户经理(东北) 要把“东北”单独截出来:
select   SUBSTR('集团客户经理(东北)', INSTR('集团客户经理(东北)', '(', 1, 1) + 1, 2) FROM dual ;
###############去掉换行,回车##########################
REPLACE(SMS,CHR(13)||CHR(10),'')
 
 /* ****现在突然对内外连接概念有点模糊,有谁能给解释一下?谢谢!*/
=========================================================
1.
 内连接是一对一的连接;外连接是一对多的连接
如下:  where table_a.id = table_b.id    内连接
       where table_a.id = table_b.id(+)  为外连接
2.
内联接:Select Table_a.a,Table_b.b from Table_a,Table_b where table_a.id = table_b.id
外联接: Select Table_a.a,Table_b.b from Table_a,Table_b where table_a.id(+) = table_b.id
3.
外左联接:Select Table_a.a from Table_a a left outer join bwhere table_a.id = table_b.id
外右联接: Select Table_a.a from Table_a a right outer join where table_a.id = table_b.id
全连接: Select Table_a.a from Table_a a full outer join where table_a.id = table_b.id
4.
a.id=b.id(+)  ===> a left outer join b on a.id=b.id
a.id(+)=b.id  ===> a right outer join b on a.id=b.id
5.
a.id=b.id(+)  ===> a 表内容全部显示
a.id(+)=b.id  ===> b 表内容全部显示
=========================================================
查树形结构
=========================================================
select dept_id, dept_name,level
  from code_dept m
 start with dept_id = 530
connect by prior dept_id = parent_dept_id
 order by level
 
=======================
取整函数
=======================
  ---  trunc (1.9) = 1  取整 
  ---  ceil( 1.1) = 2    与trunc 相反
  ---   round               四舍五入
=======================
LPAD函数
=======================
  1在oracle的数据库里有个函数 LPAD(String a,int length,String addString).
              2作用:把addString添加到a的左边,length 是返回值的长度。
               3例子
                  A : SQL> select lpad('test',8,0) from dual;

                LPAD('TEST',8,0)
                    ----------------
                 0000test
               B: select lpad('test',8) from dual;

              LPAD('TEST',8)
                         --------------
               test 注:不写最后一个参数,函数会默认在返回值左边加一个空格。
               C: SQL> select lpad('test',2,0) from dual;

                LPAD('TEST',2,0)
                ----------------
              te
              D:SQL> select lpad('test',3) from dual;

                   LPAD('TEST',3)
                  --------------
                    tes
Tags: Oracle
相关日志:
+引用(0) |
发表评论
昵称  密码  游客无需密码
网址  电邮  注册
验证码 请输入左侧图片中的字符
记住我