天天看點

Oracle資料庫之SQL單行函數---字元函數續

          前一篇部落格練習了一些字元函數,之後自己又去下查閱了相關的資料,上一篇部落格中還有很多的

    字元函數沒有練習到,這次主要是對上次的一些未用到的字元函數進行一些補充練習。

             ascii()

                  傳回與指定的字元對應的十進制數,若為字元串則傳回字元串首字母的十進制數。

select ascii('AAA') A,ascii('aa') a,ascii('0') ZERO ,
                        ascii(' ') space from dual;
           
Oracle資料庫之SQL單行函數---字元函數續

             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;
           
Oracle資料庫之SQL單行函數---字元函數續

           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');
           
Oracle資料庫之SQL單行函數---字元函數續

                 字元串處理函數中有一個TRIM函數筆者會找個時間詳細的了解、練習。

繼續閱讀