首页 > 代码库 > oracle常用函数(1)

oracle常用函数(1)

1、返回与指定的字符对应的十进制数

select ascii('A') A,ascii('z') a,ascii('12') 一打,ascii(' ') kg from dual;


2、返回与指定十进制对应的字符

select chr(65) A,chr(122) z from dual;


3、连接两个字符串

select concat('熊大','熊二') constr from dual;--熊大熊二


4、将第一个字符变大写并返回字符串

select initcap('boat') upperfirst from dual;--Boat


5、将所有字符变成大写并返回字符串

select upper('boat') upperall from dual t;--BOAT


6、将所有字符变成小写并返回字符串

select lower('BoaT') lowerall from dual;--boat


7、INSTR(str1, str2, a,b)函数

用法:得到在str1中包含str2的位置。

 从左边开始检查,开始的位置为a,如果a是一个负数,那么是从右边开始进行扫描的,第b次出现的位置将被返回。

 a和b都缺省设置为1,这将会返回在str1中第一次出现str2的位置

select instr('zheshigeceshi','sh',-2,1) str from dual;--11select instr('zheshigeceshi','sh',1,2) str from dual;--11


8、获取字符串长度

select length('boat') len from dual;--4


9、lpad(str,n,[pad_string])函数

     参数str:可以是字符或者参数

     参数n:是返回的字符串的长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

     参数pad_string:是个可选参数,这个字符串是要粘贴到string的左边的字符串,如果这个参数未写,lpad函数将会在string的左边粘贴空格。

select rpad('boat',10,'*') from dual t;--boat******select lpad('boat',10,'*') from dual t;--******boat


10、ltrim(x,y) 函数

用法:按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的

只要遇到y中有的字符, x中的字符都会被截掉,直到在x的字符中遇到y中没有的字符为止函数命令才结束,rtrim(y,x)同理

select ltrim('boat','bo') from dual;--atselect ltrim('booooobbbbobat','bo') from dual t;--atselect rtrim('boat','at') from dual;--boselect rtrim('boaaaaaaaaatttttttaat','at') from dual;--bo

11、substr(string str, int a, int b)函数

       参数1:str 要处理的字符串

       参数2:a 截取字符串的开始位置(起始位置是0),为负值时表示从尾部开始算起

       参数3:b 截取的字符串的长度,如果b超出要处理的字符串的长度,并不会影响返回结果,系统按要处理字符串最大长度返回

       如果不用b,则取从a开始的剩余所有字符串

select substr('boatisgood',3,100) subs from dual;--atisgoodselect substr('boatisgood',3) subs from dual;--atisgoodselect substr('boatisgood',-3) subs from dual;--ood


12、替换函数

select replace('nba hupu 步行街怎么没有了','步行街','BXJ') from dual;--nba hupu BXJ怎么没有了