oracle10g 系统自带函数-subStr,sys_connect_by_path

1,subStr
   subSrt是截取字符串函数,下面是详细的例子
   select subStr('hello world',1,4)from dual;  --截取hell world,从第一个字符起,截取
4个字符。
  select subStr('hello world',0,4)from dual;  --截取hell world,从第一个字符起,截取4个 字符。(注意0和1都表示从第一个字符开始,包括第一个字符)
  select subStr('hello world',-3,3)from dual; --截取hell world,从右端第三个字符起,截取3个字符。


2,sys_connect_by_path函数
   语法:
   Oracle函数:sys_connect_by_path 主要用于树查询(层次查询) 以及 多列转行。其语法一般为:
       select ... sys_connect_by_path(column_name,'connect_symbol')  from table
       start with ... connect by ... prior
实例
--创建测试表
create table emp(
  empno varchar2(25),   --员工id
  ename varchar2(25),   --员工名字
  mgr   varchar2(25)     --员工的上级id
);
insert into emp values ('1', 'jim', '7');
insert into emp values ('2', 'tom', '7');
insert into emp values ('3', 'tim', '7');
insert into emp values ('4', 'lily', '7');
insert into emp values ('5', 'mary', '7');
insert into emp values ('6', 'tid', '7');
insert into emp values ('7', 'King', '10');
insert into emp values ('8', 'kenvin', '10');
insert into emp values ('9', 'shema', '8');
insert into emp values ('10', 'john', '0');
insert into emp values ('0', 'root', '');:

测试:
select sys_connect_by_path(ename,'-') tree 
from emp 
start with ename='root' 
connect by  prior empno=  mgr;  


3,右边填充,左边填充函数rpad,lpad
  rpad:
   rpad函数从右边对字符串使用指定的字符进行填充
   rpad(string,padded_length,[pad_string])
   string 表示:被填充的字符串   
   padded_length 表示:字节的长度,是返回的字节长度的字符串,如果这个数量比原字符串的字节长度要短,rpad函数将会把字符串截取成从左到右的n个字符;如果正好是中文要被截断,那么这个中文返回的是空格。如:rpad('函数',3) ----返回的是'函 '。
pad_string 是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,rpad函数将会在string的右边粘贴空格。

   select rpad('supan',33,'0'),length(rpad('supan',33,'0')) from dual;
   lpad函数与rpad函数大致差不多。

你可能感兴趣的:(oracle系统自带函数)