Oracle單行函數之字元函數

來源:互聯網
上載者:User

標籤:oracle

本次主要總結了以下字元函數的作用及使用方法: 函 數說 明 ASCII返回對應字元的十進位值 CHR給出十進位返回字元 CONCAT拼接兩個字串,與 || 相同 INITCAT將字串的第一個字母變為大寫 INSTR找出某個字串的位置 INSTRB找出某個字串的位置和位元組數 LENGTH以字元給出字串的長度 LENGTHB以位元組給出字串的長度 LOWER將字串轉換成小寫 LPAD使用指定的字元在字元的左邊填充 LTRIM在左邊裁剪掉指定的字元 RPAD使用指定的字元在字元的右邊填充 RTRIM在右邊裁剪掉指定的字元 REPLACE執行字串搜尋和替換 SUBSTR取字串的子串 SUBSTRB取字串的子串(以位元組) SOUNDEX返回一個同音字串 TRANSLATE執行字串搜尋和替換 TRIM裁剪掉前面或後面的字串 UPPER將字串變為大寫 NVL以一個值來替換空值 1、ASCII(<xxx>) <xxx>是字串,返回與指定的字元對應的十進位數。 SQL> select ascii(‘A‘) A,ascii(‘a‘) a,ascii(‘0‘) zero,ascii(‘ ‘) space from dual;      A      a ZERO SPACE ---------- ---------- ---------- ---------- 65     97     48     32  2、CHR(n]) 給出整數,返回對應字元。如: SQL> select chr(65) chr65 from dual;  C  -  A  3、CONCAT(<c1>,<c2>) 返回字串c1與字串c2合并後的值。例如: SQL> select concat(‘010-‘,‘8801 8159‘) from dual; CONCAT(‘01 ----------------- 010-8801 8159  4、INITCAP(<c1>) 返回字串c1 並第一個字母變為大寫。例如: SQL> select initcap(‘simth‘) upp from dual; UPP ----- Simth  5、INSTR(<c1>,<c2>[,<I>[,<j>] ] ) 在一個字串中搜尋指定的字元,返回傳現指定的字元的位置。 C1: 被搜尋的字串 C2: 希望搜尋的字串 I: 搜尋的開始位置,預設是1 J: 出現的位置,預設是1。 SQL> SELECT INSTR (‘Oracle Training‘, ‘ra‘, 1, 2) "Instring" FROM DUAL;  Instring ----------         9  6、INSTRB(<c1>,<c2>[,<I>[,<j>] ] ) 除了返回的位元組外 ,與INSTR 相同,  7、LENGTH( <c> ) 返回字串 c 的長度。 SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from nchar_tst; NAME LENGTH(NAME) ADDR      LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL)) ------ ------------ ---------------- ------------ ---------- ---------------- 張五一      3        北京市海澱區         6         99999.99    8  8、LENGTHB( <c> ) 以位元組返回字串的位元組數。 SQL> select name,lengthb(name),length(name) from nchar_tst; NAME   LENGTHB(NAME) LENGTH(NAME) ------ ------------- ------------ 張五一              6            3  9、LOWER ( <c> ) 返回字串並將所有字元變為小寫。 SQL> select lower(‘AaBbCcDd‘) AaBbCcDd from dual; AABBCCDD -------- aabbccdd  10、UPPER( <c>) 與 LOWER 相反,將給出字串變為大寫。如: SQL> select upper(‘AaBbCcDd‘) AaBbCcDd from dual; AABBCCDD -------- AABBCCDD  11、RPAD和LPAD RPAD(string,Length[,‘set‘]) LPAD(string,Length[,‘set‘])       RPAD在列的右邊用特定的字元補齊;       LPAD在列的左邊用特定的字元補齊。 例1: SQL>select   RPAD(City,35,‘.‘),temperature    from weather;         RPAD(City,35,‘.‘)            temperature         -------------------------- ----------------            CLEVELAND......                    85            LOS ANGELES..                     81           .........................         (即不夠35個字元用‘.‘補齊)  12、LTRIM(左截斷)RTRIM(右截斷) LTRIM (string [,’set’]) Left TRIM (左截斷)刪去左邊出現的任何set 字元。 RTRIM (string [,’set’]) Right TRIM (右截斷)刪去右邊出現的任何set 字元。 例1: SELECT RTRIM (‘Mother Theresa, The’, ‘The’)  FROM DUAL; RTRIM (‘M --------------- Mother Theresa,  13、SUBSTR Substr(string,m[,n]) 截取字串函數 substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字元 substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始之後所有字元 substr("ABCDEFG", 0, 3); //返回:ABC,截取從A開始3個字元 substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預先處理的字串最長度,但不會影響返回結果,系統按預先處理字串最大數量返回。 substr("ABCDEFG", -3); //返回:EFG,注意參數-3,為負值時表示從尾部開始算起,字串排列位置不變。  14、SUBSTRB(string,m[,n]) 對字串(或欄位),從m位元組 開始,連續取 n個位元組並返回結果,如果沒有指n則一直取到尾。  15、REPLACE (‘string’ [,’string_in’,’string_out’]) String: 希望被替換的字串或變數。 String_in: 被替換字串。 String_out: 要替換字串。 SQL> select  replace (‘111222333444‘,‘222‘,‘888‘) from dual; REPLACE(‘111 -------------------- 111888333444


更多精彩視頻及學習文章,請關注我:


http://www.wyzc.com/ocp/?tg=3006123630

Oracle單行函數之字元函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.