日期:2014-05-16  浏览次数:20420 次

Oracle数据库之SQL单行函数---字符函数续

          前一篇博客练习了一些字符函数,之后自己又去下查阅了相关的资料,上一篇博客中还有很多的

    字符函数没有练习到,这次主要是对上次的一些未用到的字符函数进行一些补充练习。

             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函数笔者会找个时间详细的理解、练习。