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;--11
select 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;--at
select ltrim('booooobbbbobat','bo') from dual t;--at
select rtrim('boat','at') from dual;--bo
select 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;--atisgood
select substr('boatisgood',3) subs from dual;--atisgood
select substr('boatisgood',-3) subs from dual;--ood


12、替换函数

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



 

原文地址:https://www.cnblogs.com/gavanwanggw/p/6773479.html