Oracle中相关函数说明
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'中的任意字符,此例为'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个字符
分享到: