前一篇部落格練習了一些字元函數,之後自己又去下查閱了相關的資料,上一篇部落格中還有很多的
字元函數沒有練習到,這次主要是對上次的一些未用到的字元函數進行一些補充練習。
ascii()
傳回與指定的字元對應的十進制數,若為字元串則傳回字元串首字母的十進制數。
select ascii('AAA') A,ascii('aa') a,ascii('0') ZERO ,
ascii(' ') space from dual;
chr()
與ascii函數相反,給出整數傳回特定的字元
select chr(65) x,chr(97) y from dual;
instr(C1,C2,I,J)
在一個字元串中搜尋指定的字元,傳回指定額字元的位置,隻檢索一次
C1:被搜尋的字元串
C2:希望搜尋的字元串
I:搜尋的開始位置,預設為1,若果為正,從左到右開始檢索,反之。為0不檢索
J:出現的位置:tips:這個位置指的是第幾次出現。預設為1,為負或0則系統報錯,
例子:
select instr('Oracle hello Oracle hello','Oracle',-1,2) from dual;
ltrim、rtrim
select RTRIM('hello oracle','oracle') from dual;--結果為hello:删除右邊的‘oracle’
soundex
很有意思的一個函數傳回一個與給定字元串讀音相同的字元串
create table test_soundex
(
username varchar2(20)
);
insert into test_soundex values('Kiritor');
insert into test_soundex values('Kirito');
insert into test_soundex values('kiritor');
insert into test_soundex values('Alex');
select username from test_soundex where soundex(username)=soundex('Kiritor');
字元串處理函數中有一個TRIM函數筆者會找個時間詳細的了解、練習。