標籤:blog 2014 re c sql oracle file log
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怎麼沒有了