Oracle 學習之:ASCII,CHR函數的作用和用法

來源:互聯網
上載者:User

對於ASCII以及CHR函數的用法,Oracle給出的解釋是:
 
ASCII(x)gets the ASCII value of the character X, CHR() and ASCII() have the opposite effect.
 
即:ASCII函數是用於將字元轉換成其相應的ASCII碼,而CHR函數作用則恰好相反;
 
下面我來看一些簡單的例子:
 
SELECT ASCII('x'), ASCII('y'),ASCII('z') from dual;
 
語句執行的結果為 120,121,122(即字元x,y,z對應的ASCII碼分別為120,121,122)。那麼SELECT CHR('120'), CHR('121'),CHR('122') from dual;的結果我們應該很容易知道。

上面我們的例子中都是單個字元,那麼如果是多個字元會有什麼結果呢?SELECT ASCII('xy') from dual;結果為120;SELECT ASCII('x') from dual;結果為120。從這兩個例子中可能我們已經看出了什麼。
 
"ASCII gives the ascii value of the first character of  a string"即:ASCII函數只對你給出的字串中的第一個字元起作用;
 
        最後我們再介紹幾個常用的chr()函數,chr(9);chr(10);chr(13);chr(32);chr(34),其中chr(9)是tab,chr(10)是分行符號,chr(13)是斷行符號符,chr(32)是空格符,chr(34)是雙引號“"”。
 
        可能有人會對斷行符號和換行有些分不清,因為平常這兩個符號是合在一起使用的。斷行符號即回到行首,換行即換到下一行。那我們在oracle中用chr(13)和chr(10)會有區別嗎?(結果沒有區別,因為現在的語言會自動把它們轉成“斷行符號換行”)。即
 
declare
 
begin
 
  dbms_output.put_line('huiche');
 
  dbms_output.put_line(chr(10));
 
  dbms_output.put_line('hhh');
 
end;
 

 
declare
 
begin
 
  dbms_output.put_line('huiche');
 
  dbms_output.put_line(chr(13));
 
  dbms_output.put_line('hhh');
 
end;
 
兩個塊輸出的結果是完全一樣的。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.