Oracle中相关函数说明

来源:互联网 发布:基本款 知乎 编辑:程序博客网 时间:2024/05/22 10:26

3、round函数
ROUND(number, num_digits)
将number四舍五入到只有num_digits个小数位。
4、lpad、rpad函数
    lpad()函数的用法:
    lpad函数将左边的字符串填充一些特定的字符其语法格式如下:  
    lpad(string,n,[pad_string])
        string:可是字符或者参数
        n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
        pad_string:是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。
    例如:
        lpad('tech', 7); 将返回' tech'
        lpad('tech', 2); 将返回'te'
        lpad('tech', 8, '0'); 将返回'0000tech'
        lpad('tech on the net', 15, 'z'); 将返回'tech on the net'
        lpad('tech on the net', 16, 'z'); 将返回'ztech on the net'
        
        rpad()函数的用法:
        rpad函数将右边的字符串填充一些特定的字符其语法格式如下:   
        rpad(string,n,[pad_string])
        string:可是字符或者参数
        n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
        pad_string:是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。
        例如:
        rpad('tech', 7); 将返回' tech'
        rpad('tech', 2); 将返回'te'
        rpad('tech', 8, '0'); 将返回'tech0000'
        rpad('tech on the net', 15, 'z'); 将返回'tech on the net'
        rpad('tech on the net', 16, 'z'); 将返回'tech on the netz'
5、ltrim、rtrim函数
    ltrim(x,y) 函数是按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的,只要遇到y中有的字符, x中的字符都会被截掉, 直到在x的字符中遇到y中没有的字符为止函数命令才结束 .函数将109当成了三个字符以1,0,9在字符串开始直道出现不为1,0,9这三个字符中的任意一个开始截取;
SELECT LTRIM('1092002081100058424', '109') FROM dual
UNION ALL
SELECT LTRIM('1091000000002671251', '109') FROM dual
UNION ALL
SELECT LTRIM('1000000002671251', '1') FROM dual
UNION ALL
SELECT LTRIM('1000000002671251', '10') FROM dual

结果如下:

1 2002081100058424
2 2671251
3 000000002671251
4 2671251

        


RTRIM(<c1>,<c2>)的意思是:

首先从字符串'c1'右边查找'c2'中的任意字符,此例为'w','q',直到'wfrqqww'右边不为'w'和'q'字符为止

SELECT RTRIM ('wfrqqww', 'qq') FROM DUAL查询出来的数据是wfr,

        

 

6、instr
instr函数返回要截取的字符串在源字符串中的位置。
语法如下: 
  instr( string1, string2, start_position,nth_appearance ) [1] [2]
string1
源字符串,要在此字符串中查找。
string2
要在string1中查找的字符串 。
start_position
代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
nth_appearance
代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
注意: 
  位置索引号从1开始。
  如果String2在String1中没有找到,instr函数返回0。
  示例: 
  SELECT instr('syranmo','s') FROM dual; -- 返回 1 
  SELECT instr('syranmo','ra') FROM dual; -- 返回 3 
  SELECT instr('syran mo','a',1,2) FROM dual; -- 返回 0
7、substr

    substr(字符串,截取开始位置,截取长度) //返回截取的字

    substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串

    substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符

    substr('Hello World',2,4) //返回结果为 'ello'

    substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

0 0